gpt4 book ai didi

c# - 从多行中解析行组

转载 作者:太空宇宙 更新时间:2023-11-03 20:14:40 25 4
gpt4 key购买 nike

我正在尝试解析 string[] 中的一组行,如下所示:

  • 垃圾....
  • Title Mr ..... <-- 开始相关数据
  • 别名约翰史密斯...
  • 别名 john.smith...
  • Salutation ... <-- 结束相关数据
  • 垃圾...
  • 垃圾....
  • Title Mrs ..... <-- 开始相关数据
  • 别名简史密斯...
  • 别名简·史密斯...
  • Salutation ... <-- 结束相关数据
  • 垃圾...

我需要提取每组记录的信息...如下所示:

用户.职称用户别名用户别名用户.称呼

我一直在尝试弄清楚如何最好地处理这个问题,例如使用 Regex 或分层循环,但似乎无法解决这个问题。有没有人以前处理过这个问题并可以提供一些建议?

最佳答案

您可以foreach 行并在 Title 出现时开始记录数据,直到 Salutation 出现。

类似于:

var lines = File.ReadLines("c:\\StackOverflow.txt");

List<User> results = new List<User>();
bool titleFound = false;
User current = null;
foreach (var line in lines)
{
if (line.StartsWith("Title"))
{
titleFound = true;
current = new User { Alias = new List<string>() };
current.Title = line;
}

if (titleFound)
{
if (line.StartsWith("alias"))
{
current.Alias.Add(line);
}
if (line.StartsWith("Salutation"))
{
current.Salutation = line;
results.Add(current);
titleFound = false;
}
}
}


public class User
{
public string Title { get; set; }
public List<string> Alias { get; set; }
public string Salutation { get; set; }
}

关于c# - 从多行中解析行组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17646495/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com