我有一个.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)");
请帮忙 谢谢
答案 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);