String.Split() -将连续分隔符视为一个分隔符
本文关键字:分隔符 一个 连续 Split String | 更新日期: 2023-09-27 18:06:01
我试图解析一组"固定宽度"数据文件,我在引号中使用,因为每个数据文件的宽度不同。但是,字段之间有X个空格分隔,所以我想先读入一行,然后再读入一行。分割(' ')
但是,这对连续空格不起作用!div !
你有几个选择。
第一个是使用string.Split()
过载,它接受StringSplitOptions
参数并传入StringSplitOptions.RemoveEmptyEntries
:
string[] columns = lineOfText.Split(new [] {' '}, StringSplitOptions.RemoveEmptyEntries);
这样,如果一行中有多个空格,生成的空条目将被丢弃。
第二个选项是使用正则表达式进行解析。在您的情况下,这可能不是必需的,但是如果格式变得更复杂,或者您希望它随着时间的推移略有变化,则可以派上用场。
如果您想使用正则表达式来实现您想要的结果,您需要使用Regex.Split()
代替:
using System.Text.RegularExpressions;
string[] columns = new Regex(@"'s+", RegexOptions.Compiled).Split(lineOfText);