我有以下示例字符串

"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$"(唯一的区别是末尾的美元符号)。

10-05 22:07