gpt4 book ai didi

c# - 在 C# 中,从字符串中解析出此值的最佳方法是什么?

转载 作者:太空狗 更新时间:2023-10-29 21:09:28 25 4
gpt4 key购买 nike

我必须从一个较大的字符串中解析出系统名称。系统名称的前缀为“ABC”,然后是一个数字。一些例子是:

ABC500
ABC1100
ABC1300

我需要从中解析出系统名称的完整字符串可能类似于以下任何一项:

ABC1100 - 2ppl
ABC1300
ABC 1300
ABC-1300
Managers Associates Only (ABC1100 - 2ppl)

在我看到最后一个之前,我有这段代码工作得很好:

string[] trimmedStrings = jobTitle.Split(new char[] { '-', '–' },StringSplitOptions.RemoveEmptyEntries)
.Select(s => s.Trim())
.ToArray();

return trimmedStrings[0];

但在 ABC 之前有一堆其他文本的最后一个示例中它失败了。

谁能在这里提出一种更优雅且面向 future 的解析系统名称的方法?

最佳答案

一种方法:

string[] strings =
{
"ABC1100 - 2ppl",
"ABC1300",
"ABC 1300",
"ABC-1300",
"Managers Associates Only (ABC1100 - 2ppl)"
};

var reg = new Regex(@"ABC[\s,-]?[0-9]+");

var systemNames = strings.Select(line => reg.Match(line).Value);

systemNames.ToList().ForEach(Console.WriteLine);

打印:

ABC1100
ABC1300
ABC 1300
ABC-1300
ABC1100

demo

关于c# - 在 C# 中,从字符串中解析出此值的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16651105/

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