我有一个包含这些单词的文本文件
PEOPLE
John
0218753458
ENTERPRISE
stock
30%
HOME
Indiana
West Virginia
PEOPLE
Vahn
031245678
ENTERPRISE
Inc
50%
HOME
melbourne
Australia
我想将这些文件拆分为一些字符串,这些字符串将分为 PEOPLE、ENTERPRISE 和 HOME 组。例如输出将是
第[0]部分
PEOPLE
John
0218753458
第[1]部分
ENTERPISE
stock
30%
第[2]部分
HOME
Indiana
West Virginia
等等
我有一个使用计划
编辑#1(感谢@Slade)
string[] part = s.Split(new string[] { "PEOPLE","ENTERPRISE","HOME" }, StringSplitOptions.None);
我无法改变结构。 有什么办法可以保留标题吗?或者更好的方法来做到这一点?
最佳答案
不要使用||
运算符,用于条件/逻辑 OR 表达式。相反,当像您一样填充数组元素时,请使用逗号,如下所示:
string[] part = s.Split(new string[] { "PEOPLE", "ENTERPRISE", "HOME" }, StringSplitOptions.None);
但是,除非您总是拥有这些标题,否则这不是尝试拆分文本文件的好方法。相反,您需要为文件定义一些结构。例如,如果您总是要使用全大写的标题,那么您可能需要首先将文本文件拆分为行,然后循环遍历每个元素,并在每次点击仅包含全大写字符的行时对元素进行分组.
就我个人而言,如果可能的话,我会更改文本文件结构,以便您可以在标题之前或之后使用一些符号来标记标题:例如:这是一个标题
。这样,您可以分成几行,然后只需在行的开头查找 :
符号即可。
编辑
有关如何使用全大写 header 解析此内容的示例方法,请参阅我的代码示例 PasteBin .
注意:该行...
string[] lines = File.ReadAllLines(@"Sample.txt");
...可以替换为...
string textFromFile = File.ReadAllText(@"Sample.txt");
string[] lines = textFromFile.Split(new string[1] { System.Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
关于C# 如何将文本文件中的几组单词放入数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8832929/