如何檢查字符串是否包含以下字符「-A」後跟一個數字?c# - 檢查字符串是否包含字符和數字
例如:thisIsaString-A21 = YES,包含 「-A」 後跟一個數字
例如:thisIsaNotherString-AB21 =沒有,不包含 「-A」 後跟一個數字
如何檢查字符串是否包含以下字符「-A」後跟一個數字?c# - 檢查字符串是否包含字符和數字
例如:thisIsaString-A21 = YES,包含 「-A」 後跟一個數字
例如:thisIsaNotherString-AB21 =沒有,不包含 「-A」 後跟一個數字
...除了'\ d'只會匹配一個數字,而給出的例子是'-A21',所以推測OP需要兩個數字 –
@AndrasZoltan:如果你想提取數字,這是一個相關的問題你的答案),但如果你只是想測試是否有匹配,那麼它就沒有關係。 –
@MarkByers的確是 - 一個公平點:) –
if(Regex.IsMatch("thisIsaString-A21", "-A\\d+"))
{
//code to execute
}
如果你真的想提取-A [NUM]位,那麼你可以這樣做:
var m = Regex.Match("thisIsaString-A21", "-A\\d+"));
if(m.Success)
{
Console.WriteLine(m.Groups[0].Value);
//prints '-A21'
}
還有其他事情可以做 - 例如,如果您需要自行提取A [num]位或僅提取數字:
var m = Regex.Match("thisIsaString-A21", "(?<=-A)\\d+");
//now m.Groups[0].Value contains just '21'
或在我的第一個建議,如果你想「A21」:
var m = Regex.Match("thisIsaString-A21", "(?<=-)A\\d+");
//now m.Groups[0].Value contains 'A21'
還有其他的方法來實現這些最後兩個 - 我喜歡的非捕獲組(?<=)
因爲,顧名思義,它使輸出組清潔。
+1爲了顯示如何提取數字,儘管我猜在這種情況下OP只需要「是」或「否」。 ;-) –
我想你可能是對的 - 謝謝! –
你有什麼試過?既然你已經知道它被稱爲正則表達式,找到答案應該不到一分鐘。 – gdoron
'thisIsaString-A21B別的東西'可以嗎? –