gpt4 book ai didi

c# - 提取文本文件中特定标签之间的内容 - C#

转载 作者:行者123 更新时间:2023-11-30 15:20:06 25 4
gpt4 key购买 nike

我有一个包含以下信息的文本文件:

ALLOC

apple1
orange1
banana1

ALLOC
apple2
orange2
banana2

ALLOC
apple3
orange3
banana3

在 stackflow 社区的帮助下,我现在能够读取整个文件。我还发现要提取标签之间的内容,例如 ALLOC ,我可以写:

var filelocation = @"c:\Fruits.txt";
var sectionLines = File.ReadAllLines(filelocation).TakeWhile(l => !l.StartsWith("ALLOC"));

但这会给我 IEnumerable<string> :

apple1
orange1
banana1
apple2
orange2
banana2
apple3
orange3

如何创建 3 个单独的字符串作为

string1 = apple1 orange1 banana1
string2 = apple2 ornage2 banana2
string3 = apple3 orange3

简而言之,需要提取标签之间的内容。

最佳答案

这里有一些方法可以返回你想要的结果:

string[] words = { "ALLOC", "apple1", "orange1", "banana1", "ALLOC", "apple2", "orange2", "banana2", "ALLOC" };

var result = string.Join(" ", words)
.Split(new string[] { "ALLOC" }, StringSplitOptions.RemoveEmptyEntries)
.Select(p => p.Trim(' '));

首先,我正在制作所有单词的单个字符串。比我按“ALLOC”拆分,并选择修剪过的字符串。

结果是:

string[] result = { "apple1 orange1 banana1", "apple2 orange2 banana2" };

针对您的情况

var filelocation = @"c:\Fruits.txt";
var allLines = File.ReadAllLines(filelocation);
var sectionLines = string.Join(" ", allLines)
.Split(new string[] { "ALLOC" }, StringSplitOptions.RemoveEmptyEntries)
.Select(p => p.Trim(' '));

关于c# - 提取文本文件中特定标签之间的内容 - C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40900881/

25 4 0