我需要能夠解析出C#/ Regex中字符串中的一系列數字。這些數字可以是一個或多個數字長,總是在字符串的結束,例如單詞「ID」後:使用C#/ Regex查找字符串中的數字
「測試123測試 - ID 589」
在這種情況下,我需要能夠挑出589.
有什麼建議嗎?我用過的一些代碼挑出了所有不是我想要做的數字。
感謝
我需要能夠解析出C#/ Regex中字符串中的一系列數字。這些數字可以是一個或多個數字長,總是在字符串的結束,例如單詞「ID」後:使用C#/ Regex查找字符串中的數字
「測試123測試 - ID 589」
在這種情況下,我需要能夠挑出589.
有什麼建議嗎?我用過的一些代碼挑出了所有不是我想要做的數字。
感謝
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
}
我會用模式@「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);
}
謝謝詹姆斯,這很好。 –
這是最具體的模式,如果不是每行與一些你感興趣結束在:
@"\bID\s+(\d+)$"
注:目標數字將在捕獲組1
然而,根據你的描述,你可以用這個:
@"\d+$"
它只是在每一行的最後找一串數字。這是我一起去的。
foo.Substring(foo.IndexOf( 「ID」)+ 3)
你可以發佈你已經嘗試了什麼? –
如果你知道你想選擇的數字總是會在最後結束,則搜索yield [this](http://stackoverflow.com/questions/6616969/finding-all-numbers-in-a-string) – afuzzyllama
的字符串,我不會建議你在這裏使用正則表達式。 – Asdfg