使用c# / Regex在字符串中查找数字
本文关键字:查找 数字 字符串 Regex 使用 | 更新日期: 2023-09-27 18:06:34
我需要有能力在c#/Regex字符串中解析出一系列数字。这些数字可以是一个或多个数字,并且总是位于字符串的末尾和单词"ID"之后,例如:
"Test 123 Test - ID 589"
在这种情况下,我需要能够挑选出589。
有什么建议吗?我使用的一些代码挑出了所有的数字,这不是我想做的。
谢谢
我会使用模式@"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+$"
它只是在每行的末尾查找一串数字。这就是我想要的