c# - 从 C# 中的较长字符串解析此数字的最佳方法是什么?

标签 c# regex string parsing

我有以下示例字符串

"CTS3010 - 6ppl"

"CTs3200 - 14ppl"

 "CTS-500 2ppl"

我需要从这些字符串中解析出数字。解析字符串末尾“ppl”之前的数字的最佳方法是什么。我需要正则表达式吗?我有向后循环的逻辑,但感觉这里有一个更优雅的解决方案。

这些只是示例,但所有示例似乎都遵循相同的模式

  • 一堆文字
  • 一个数字
  • ppl 后缀

最佳答案

您可以这样做以在“ppl”之前获取号码:

using System.Text.RegularExpressions;
...

Regex regex = new Regex("([0-9]+)ppl");
string matchedValue = regex.Match("CTS-500 122ppl").Groups[1].Value;

在这种情况下,matchedValue 将为 122。

如果您想安全起见,并且您知道“ppl”将始终位于字符串的末尾,我会将正则表达式更改为:"([0-9]+)ppl$"(唯一的区别是末尾的美元符号)。

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

相关文章:

java - 更改 Java 字符串中的日期格式

c# - 如何从 C# 中的文件路径获取子字符串?

c# - WPF Datagrid 新行验证

c# - 推荐XNA教程开始学习3D(第一次)

ruby-on-rails - 你如何在正则表达式中使用变量?

产品 key 的正则表达式

regex - "Pattern not found"在 Vim 中搜索 HTML 文本

c - 从字符串数组中打印排序的字符串

c# - WPF 中的应用程序级别变量

C# 递增 ToString