如何在Notepad ++或C#中使用大文本提取子字符串?

时间:2015-10-14 15:46:02

标签: c# regex substring

我想在每个子字符串之间仅提取'邮件地址'之间的文字。

如何仅导入电子邮件地址notepad ++ macro或c#?

Sample.txt的;

  

(8428,'John Doe','johndoe @ testdomain.com','05 .Sep.2015 - 19:09:14','12 .222.100.100','sABqBpMRYh','1',0),

     

(8429,'Chris down','chrisdown @ hotmail.com','05 .Sep.2015 -   19:10:03','11 .214.100.100','z0gWsvcOMO','1',1),

请帮帮我。

此致

1 个答案:

答案 0 :(得分:0)

目前还不清楚您的输入数据是什么样的/输出应该是什么样子。此外,在没有看到任何代码的情况下,您已经开始到目前为止我不知道从哪里开始为您提供解决方案,但也许这样的事情会有所帮助。

List<string> lines = File.ReadAllLines(inputFile).ToList<string>();
List<string> data = new List<string>();
List<int> allIndices = lines.Select((s, i) => new { Str = s, Index = i })
    .Where(x => x.Str.Contains("'"))
    .Select(x => x.Index).ToList<int>();

for (int j = 0; j < allIndices.Count() - 1; j++)
    data.AddRange(lines.GetRange(allIndices[j], (allIndices[j + 1] - allIndices[j])));
  • lines将包含文件中的所有数据
  • data是一个空白列表,将添加到
  • allIndices'出现的每个位置的列表。

for循环遍历allIndices,获取lines之间'之间的所有内容,并将其添加到data

在此之后您使用data做什么取决于您。