-5

有没有更好的方法在 C# 中查找一个或不出现一个字符串?现在,我正在使用以下语句来实现相同的目的。

Regex.Replace(input, @"[0-9]+([s][t][r][i][n][g])", "$1", RegexOptions.IgnoreCase);
4

2 回答 2

2

?修饰符告诉您只希望发生一次或不发生。所以,如果我理解你的话,你想要类似的东西

Regex.Replace(input, @"[0-9]+((?:string)?)", "$1", RegexOptions.IgnoreCase);

?:before string 代表非捕获组,因此内大括号不被视为一个组,并且不能在 replace 中使用.Groupsand表达式访问$<number>

见重复部分。http://www.regular-expressions.info/quickstart.html

于 2012-11-28T11:18:00.947 回答
0

使用 string.contains 方法:

string s1 = "The quick brown fox jumps over the lazy dog";
string s2 = "fox"; 

if (s1.contains(s2))
{
Regex.Replace(input, @"[0-9]+([s][t][r][i][n][g])", "$1", RegexOptions.IgnoreCase);
}
于 2012-11-28T11:17:49.987 回答