用双新换行符分割字符串

时间:2014-06-04 09:45:03

标签: c# regex

我有一个.txt文件,我存储在一个长字符串中的数据。每行后面的字符串中有许多单个换行符。段落末尾有两个新行字符。我想要的是将字符串拆分成一个段落数组。

我认为以下内容但它无法正常工作

string filePath = "C:\\Users\\Data.txt";
StreamReader readFile = new StreamReader(filePath);
string Data = readFile.ReadToEnd();
string[] paragraphss = Regex.Split(Data, "(^|[^\n])\n{2}(?!\n)");

请帮忙 谢谢

3 个答案:

答案 0 :(得分:2)

如果你没有使用正则表达式,Data.Split("\n\n")应该可以做到这一点。

答案 1 :(得分:0)

在Windows系统上,换行符为\r\n,在Unix系统上为\n。这可能就是为什么线条没有被拆分的原因,因为您专门寻找\n\n而不是\r\n\r\n

但是,您可以使用Environment.Newline,它将为运行该软件的任何环境返回正确的换行符。

答案 2 :(得分:0)

受到@LueTm的回答和@Traubenfuchs的评论的启发,只是使其看起来对编译器友好而完整。以下是使用双换行符分割字符串的方法:

Data.Split(new string[] { "\r\n\r\n" }, StringSplitOptions.None);