有谁知道如何用正则表达式分割这个文件
1 TESTAAA SERNUM A DESCRIPTION
2 TESTBBB ANOTHR ANOTHER DESCRIPTION
3 TESTXXX BLAHBL
每列的长度
{id} {firsttext} {serialhere} {description}
4 22 6 30+
我打算使用正则表达式来将我的所有值存储在这样的字符串 [] 中。
using (StreamReader sr = new StreamReader("c:\\file.txt"))
{
string line = string.Empty;
string[] source = null;
while ((line = sr.ReadLine()) != null)
{
source = Regex.Split(line, @"(.{4})(.{22})(.{6})(.+)", RegexOptions.Singleline);
}
}
但我有两个问题。
- 如您所见,当您看到我每行只有 4 个元素(列)时,拆分创建了 6 个元素 source[0] = "" 和 source[5] =""。
- 对于具有第 4 列的第 3 行,如果我有空格,它会为其创建一个位置,但如果没有空格,则此列会丢失。
那么用正则表达式或其他解决方案拆分的最佳模式或解决方案将是什么!我想分割固定宽度。谢谢。