如何使用 .Split() 在空行上拆分字符串?
How do I split a string on an empty line using .Split()?
对于 class 项目,我必须将文本文件加载到链表中。到目前为止,我已经能够从文件中读取,但我正在努力将它分成几个部分,以便我可以将它放入链表中。
例如,我想在空行处拆分这些项目:
大卫
猎人
第一名
管理员
约翰
史密斯
11号
销售额
简
阿波比
No5
帐号
我试过 String[] people = record.Split('\n');
但是当然,这只会在每一行拆分它。
我也试过:
String[] people = record.Split('\n\r');
String[] people = record.Split('\r\n');
String[] people = record.Split('\n\n');
但由于 "too many characters in character literal"
而无法编译
任何人都可以建议一种方法来做到这一点(最好没有正则表达式)吗?
您可以使用
来完成它
string[] people = record.Split(new string[] { "\r\n\r\n" },
StringSplitOptions.RemoveEmptyEntries);
或
string[] people = record.Split(new string[] { Environment.NewLine + Environment.NewLine },
StringSplitOptions.RemoveEmptyEntries);
它的作用是删除带有 StringSplitOptions.RemoveEmptyEntries
的空条目,然后在两个换行符紧挨着彼此的地方拆分。
对于 class 项目,我必须将文本文件加载到链表中。到目前为止,我已经能够从文件中读取,但我正在努力将它分成几个部分,以便我可以将它放入链表中。
例如,我想在空行处拆分这些项目:
大卫
猎人
第一名
管理员
约翰
史密斯
11号
销售额
简
阿波比
No5
帐号
我试过 String[] people = record.Split('\n');
但是当然,这只会在每一行拆分它。
我也试过:
String[] people = record.Split('\n\r');
String[] people = record.Split('\r\n');
String[] people = record.Split('\n\n');
但由于 "too many characters in character literal"
任何人都可以建议一种方法来做到这一点(最好没有正则表达式)吗?
您可以使用
来完成它string[] people = record.Split(new string[] { "\r\n\r\n" },
StringSplitOptions.RemoveEmptyEntries);
或
string[] people = record.Split(new string[] { Environment.NewLine + Environment.NewLine },
StringSplitOptions.RemoveEmptyEntries);
它的作用是删除带有 StringSplitOptions.RemoveEmptyEntries
的空条目,然后在两个换行符紧挨着彼此的地方拆分。