RegEx in c#for a pipe(
我有以下格式的多行输入字符串
ID | Col1 | Col2 | Col3 | Col4 | Col5 | Col6 | Col7 | Col8
数据可能会变成数千行Col1-8的数据类型可能是字母数字或仅字母数字,每行可能有所不同。
我需要做以下事情:
提取Col2和Col3(考虑在这里使用正则表达式,而不是通常的字符串分割,因为以后会比较慢)?
我还希望其余的数据也采用以下格式。 ID | Col1 | Col4 | Col5 | Col6 | Col7 | Col8(这我可以使用string.Replace一旦我有数据在点1)
请注意,我不想丢失Col2和Col3的数据,同时实现点2的解决方案,因此第一点对我来说也很重要。
我尝试创建RegEx作为(|){2,4},我现在明白这是完全错误的,而且我不知道如何使用正则表达式继续此操作。
我会很感激任何帮助/指导如何去为它创建一个正则表达式。
有没有理由不能这样做?
var str = "ID | Col1 | Col2 | Col3 | Col4 | Col5 | Col6 | Col7 | Col8";
var strA = str.Split(" | ".ToArray(), StringSplitOptions.RemoveEmptyEntries).ToList();
var strExtract = new List<string> { strA[2], strA[4] };
strA.RemoveAt(2);
strA.RemoveAt(3);
Console.WriteLine(string.Join(" | ", strA.ToArray()));
var cols = input.Split(new[] {'|'}, StringSplitOptions.RemoveEmptyEntries)
.Select(s => s.Trim())
.ToList();
var extractedcols = cols.Skip(2).Take(2);
var output = string.Join(" | ", cols.Except(extractedcols));
使用.Split'|',5)将前4个元素和其余的刺作为一个数组。
链接地址: http://www.djcxy.com/p/68827.html