我想拆分字符串并创建一个集合,规则如下:字符串应该拆分成单词。
1) 如果字符串包含 '\n' 它应该被视为一个单独的 '\n' 单词。
2) 如果字符串包含多个 '\n' ,则应将其视为超过 '\n' 个单词。
3) 不应从字符串中删除空格。唯一的例外是,如果两个 \n 之间有空格,则可以忽略。
PS:我尝试了很多字符串拆分,首先拆分了 \n 字符并创建了一个集合,缺点是,如果我连续有两个 \n ,我无法在集合中创建两个虚拟词。任何帮助将不胜感激。

反正有没有使用正则表达式来做到这一点?
看起来像家庭作业。因此,请继续阅读\b。
应该让你朝着正确的方向前进。
用这样的正则表达式拆分:
(?<=[\S\n])(?=\s)
就像是:
var substrings = Regex.Split(input, @"(?<=[\S\n])(?=\s)");
这根本不会删除任何空格,但这不是必需的,所以应该没问题。
如果您真的希望\n删除 s 之间的空格,可以使用以下内容进行拆分:
(?<=[\S\n])(?=\s)(?:[ \t]+(?=\n))?