C# esn不处理尾随的奇数个换行符:它为“a”+Environment.NewLine+Environment.NewLine+Environment.NewLine,返回两个换行符。是的,我同意正则表达式很难阅读,但我的主要关注点是正确性,然后才是可读性。换

C# esn不处理尾随的奇数个换行符:它为“a”+Environment.NewLine+Environment.NewLine+Environment.NewLine,返回两个换行符。是的,我同意正则表达式很难阅读,但我的主要关注点是正确性,然后才是可读性。换,c#,regex,paragraph,paragraphs,C#,Regex,Paragraph,Paragraphs,esn不处理尾随的奇数个换行符:它为“a”+Environment.NewLine+Environment.NewLine+Environment.NewLine,返回两个换行符。是的,我同意正则表达式很难阅读,但我的主要关注点是正确性,然后才是可读性。换句话说,我选择了我能想到的最具可读性的方式来获得正确答案。我没有考虑你的方法,我没有想过,但是如果我有,我可能会把它贴在答案上。我不确定这是不是我的字符串被格式化的方式(它是从WRRT中的RealItbox的内容中复制的),但是对于我来说,不管


esn不处理尾随的奇数个换行符:它为
“a”+Environment.NewLine+Environment.NewLine+Environment.NewLine
,返回两个换行符。是的,我同意正则表达式很难阅读,但我的主要关注点是正确性,然后才是可读性。换句话说,我选择了我能想到的最具可读性的方式来获得正确答案。我没有考虑你的方法,我没有想过,但是如果我有,我可能会把它贴在答案上。我不确定这是不是我的字符串被格式化的方式(它是从WRRT中的RealItbox的内容中复制的),但是对于我来说,不管字符串里面是什么,它看起来都会返回1。有什么办法可以解决这个问题吗?@user3651656
Regex.Matches(ttes,“[^\r\n]+((\r\124;\ n |\r\n)[^\r\n]+)*”)。Count
应该给Count谢谢。出于好奇,有没有办法让它将只包含空格字符的行视为空行?@user3651656这应该是可能的,但如果这已经很难阅读,情况会变得更糟。当我有机会再次测试时将进行编辑。@user3651656已更新。@user3651656
Regex.Matches(ttes),[^\r\n]+((\r\124n\r\n)[^\r\n]+)*”。Count
应给出countThank。出于好奇,有没有办法让它将只包含空格字符的行视为空行?@user3651656这应该是可能的,但如果这已经很难阅读,情况会变得更糟。当我有机会再次测试时将进行编辑。@user3651656已更新。 This is a paragraph. This is a paragraph. This is a paragraph.
MultiParagraphString.Split(new [] {Environment.NewLine}, 
           StringSplitOptions.RemoveEmptyEntries);
MultiParagraphString.Split(new [] {Environment.NewLine}, 
           StringSplitOptions.RemoveEmptyEntries)
          .Select(s => new ParagraphInfo(s)).ToList();
Regex.Matches(s, "[^\r\n]+((\r|\n|\r\n)[^\r\n]+)*")
Regex.Matches(s, "[^\r\n]*[^ \r\n]+[^\r\n]*((\r|\n|\r\n)[^\r\n]*[^ \r\n]+[^\r\n]*)*")
var paragraphs =
    text
        .Split(
            new [] { Environment.NewLine + Environment.NewLine },
            StringSplitOptions.RemoveEmptyEntries)
        .Count();