使用VB.net hw查找子字符串并复制整行

时间:2014-06-11 14:29:49

标签: vb.net excel-vba vba excel

þTEST000001þþTEST000001þþTEST000001þþTEST000001þþ0þþCanning,Simonþþþþ1/ 8 /2014þ þTEST000002þþTEST000002þþTEST000003þþTEST000002þþ0þþSolemon,Simonþþþþ2/ 4 /2013þ

我的字符串有上面的内容,我想找到文本“TEST000002”,它只在第一个分隔符(即þþ)内,一旦我找到文本我想将整行复制到文本文件中...

1 个答案:

答案 0 :(得分:0)

您可以使用String.Split + ContainsEnumerable.FirstOrDefault来获取第一个匹配的行:

string firstMatchingLine = text.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries)
    .Where(l => l.Split('þ').Contains("TEST000002"))
    .FirstOrDefault();

或使用Enumerable.Any + String.Trim首先删除前导或尾随空格的方法:

string firstMatchingLine = text.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries)
    .Where(l => l.Split('þ').Any(t => t.Trim() == "TEST000002"))
    .FirstOrDefault();

要将其附加到文本文件,您可以使用:

System.IO.File.AppendAllLines("Path", new[] { firstMatchingLine });