使用c# / Regex在字符串中查找数字

本文关键字:查找 数字 字符串 Regex 使用 | 更新日期: 2023-09-27 18:06:34

我需要有能力在c#/Regex字符串中解析出一系列数字。这些数字可以是一个或多个数字,并且总是位于字符串的末尾和单词"ID"之后,例如:

"Test 123 Test - ID 589"

在这种情况下,我需要能够挑选出589。

有什么建议吗?我使用的一些代码挑出了所有的数字,这不是我想做的。

谢谢

使用c# / Regex在字符串中查找数字

我会使用模式@"ID ('d+)$"

using System.Text.RegularExpressions;
var s = "Test 123 Test - ID 589";
var match = Regex.Match(s, @"ID ('d+)$");
int? id = null;
if (match.Success) {
  id = int.Parse(match.Groups[1].Value);    
}
string resultString = null;
try {
    Regex regexObj = new Regex(@"ID (?<digit>'d+)$");
    resultString = regexObj.Match(subjectString).Groups["digit"].Value;
} catch (ArgumentException ex) {
// Syntax error in the regular expression
}

foo.Substring (foo.IndexOf (" ID ") + 3)

这是最特殊的模式,以防不是每一行都以您感兴趣的数字结尾:

@"'bID's+('d+)$"

注意:目标号码将在捕获组1中。

但是,根据你的描述,你可以这样写:

@"'d+$"

它只是在每行的末尾查找一串数字。这就是我想要的