使用正则表达式查找和替换
本文关键字:替换 查找 正则表达式 | 更新日期: 2023-09-27 18:36:42
当有人输入字符串作为搜索查询时,如果他们应该拼错代码,我正在尝试查找并替换字符串,例如Z0000ECEL写成Z000ECEL它会将其替换为 Z00+ECEL,这样它就会找到最接近的代码,即使他们拼错了,它仍然找到它, 我目前正在使用:
if (Regex.IsMatch(searchWords[0], "^[a-z]+z00+", RegexOptions.IgnoreCase))
{
Regex.Replace(searchWords[0], "[0]+", "*0", RegexOptions.IgnoreCase);
}
我不想在字符串的开头放置通配符,因为这会带来许多结果。
这是
在做你想做的事吗?
Regex.Replace(searchWords[0], "0{3,}", "00*");
这将用"00*"替换 3 个或更多零
您也可以将其与第一次检查结合使用
Regex.Replace(searchWords[0], "(?<=^[a-z]+z)0{3,}", "00*", RegexOptions.IgnoreCase);
这涉及后瞻断言,因此只有在之前有^[a-z]+z
的情况下,才会替换0{3,}
。
也许你正在寻找:
str = Regex.Replace(str, "(?i)(^[a-z]+0)0+", "$1+");