在C#中,从字符串中解析出这个值的最佳方法是什么?
发布时间:2020-12-15 04:02:47 所属栏目:百科 来源:网络整理
导读:我必须从更大的字符串中解析出系统名称.系统名称的前缀为“ABC”,然后是数字.一些例子是: ABC500ABC1100ABC1300 我需要解析系统名称的完整字符串可以看起来像下面的任何项目: ABC1100 - 2pplABC1300ABC 1300ABC-1300Managers Associates Only (ABC1100 - 2
我必须从更大的字符串中解析出系统名称.系统名称的前缀为“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之前有一堆其他文本失败了. 任何人都可以建议在这里解析系统名称的更优雅和未来的方法吗? 解决方法
一种方法:
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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ruby-on-rails – 未定义的局部变量或方法`confirmed_at’f
- C#使用MySQLDriverCS连接MySQL数据库的代码片段
- c# – 使用LINQ从数据表的列中删除逗号(,)
- react-js-03-数组标签
- entity-framework – “……无参数构造函数和初始化函数被支
- 使用ctypes访问内存地址处的数据
- c# – Excel XML的MIME类型(ASP.NET 3.5)
- c# – 使用LINQ to MySQL(DbLinq)和动态LINQ的可排序JqGrid
- Pytest学习(十三)- 重复执行之pytest-repeat的使用
- c# – 如何使用XmlAttributeOverrides以编程方式生成序列化