Bli*_*enN 3 c# text split punctuation
所以我对c#有一个分配,我需要处理文本文件,用逗号分隔单词和其他标点符号.我选择这样做:
string Book1 = "@\\..\\Knyga1.txt";
string punctuation = " ,.?!;:\"";
string Read1 = File.ReadAllText(Book1);
string[] FirstFileWords = Read1.Split(punctuation.ToCharArray());
Run Code Online (Sandbox Code Playgroud)
但是我遇到了一个问题...我的文本文件应该像书一样,所以显然会有多行...有没有办法添加"输入密钥"或者我们称之为的东西为标点符号之一制作一个新行(对不起我的英语不好)?因为在以后处理单个单词时,例如打印出最长的单词,位于第2行3开头的单词等等在控制台中占用两行.
只需添加\r\n到列表中即可.这就是"输入密钥" - 即"新行" - 在Windows操作系统中,它就是返回的内容Environment.NewLine.
string punctuation = " ,.?!;:\"\r\n";
Run Code Online (Sandbox Code Playgroud)
\r代表"回车"并\n代表"换行",当它们一起使用时,称为"新行"(如上面的MSDN页面和其他地方所述,如此答案).
此外,还有其他不那么常见的"垂直空白"字符(请参阅我的问题以供参考).所以,要完成,我会这样做包括"垂直制表符","换页","下一行","行分隔符"和"段落分隔符":
string punctuation = " ,.?!;:\"\r\n\v\f\u0085\u2028\u2029";
Run Code Online (Sandbox Code Playgroud)
这是一篇维基百科文章,描述了所有这些和其他空白字符.