如何检查字符串是否包含以下字符“-A”后跟数字?
Ex:thisIsaString-A21 = yes,包含“-A”后跟数字
Ex:thisIsaNotherString-AB21 = no,不包含“-A”后跟数字
答案 0 :(得分:15)
答案 1 :(得分:4)
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'
还有其他方法可以实现最后两个 - 我喜欢非捕获组(?<=)
,因为顾名思义,它可以保持输出组的清洁。