用双新行字符分割字符串

本文关键字:分割 字符串 字符 新行 | 更新日期: 2023-09-27 18:06:51

我有一个.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)");

请帮助谢谢你

用双新行字符分割字符串

如果你不使用正则表达式,Data.Split("'n'n")应该做的技巧。

在windows系统上换行符是'r'n,在Unix系统上是'n。这可能就是为什么行没有被分割的原因,因为您正在专门寻找'n'n而不是'r'n'r'n

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

灵感来自@LueTm的回答和@Traubenfuchs的评论,只是让它看起来编译器友好和完整。下面是如何用两个新行字符分割字符串:

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