【发布时间】:2013-11-13 13:21:06
【问题描述】:
有谁知道如何分割这个文件
1 TESTAAA SERNUM A DESCRIPTION
2 TESTBBB ANOTHR ANOTHER DESCRIPTION
3 TESTXXX BLAHBL
每一列都有固定的宽度,我打算用正则表达式来做,但我不知道该怎么做。
有
{id} {firsttext} {serialhere} {description}
4 22 6 30+
有人推荐这样的模式 (.{4})(.{22})(.{6})(.+)?然后通过 split(' ') 将其拆分,但用户表示这不适用于没有价值的列,但即便如此,他也没有做任何示例。
我也听说过 TextFieldParser,但它在性能方面存在一些问题。
谁能告诉我如何按固定宽度分割?
谢谢。
【问题讨论】:
-
试试这个 Bing 搜索看看有没有什么适合你的 bing.com/…
-
(.{4})(.{22})(.{6})(.+)?之类的东西应该可以正常工作。你试过什么没用? -
以上建议是以正则表达式为例 List
result = new List (Regex.Split(target, @"(.{4})(.{22} )(.{6})(.+)?", RegexOptions.Singleline));
标签: c# regex split fixed-width textfieldparser