C# 抛出异常(太多)';正则表达式中的s替换c中的字符串#
以下代码在c中的正则表达式替换字符串中引发异常,声明C# 抛出异常(太多)';正则表达式中的s替换c中的字符串#,c#,regex,exception,C#,Regex,Exception,以下代码在c中的正则表达式替换字符串中引发异常,声明too many')# Regex r3=newregex(@“([(=)!@$%^&?/”;:\~`]+)//人物 var匹配=r3.匹配(输入); if(match.Success)//个字符 { 字符串ch=match.Groups[1]。值; z=z+ch; textBox4.Text=z; 字符串j=Regex.replace(输入,ch,“”); Show(“字符串已变成”,j); 输入=j; } 当输入包含(或)时,会引发所述异
too many')#
Regex r3=newregex(@“([(=)!@$%^&?/”;:\~`]+)//人物
var匹配=r3.匹配(输入);
if(match.Success)//个字符
{
字符串ch=match.Groups[1]。值;
z=z+ch;
textBox4.Text=z;
字符串j=Regex.replace(输入,ch,“”);
Show(“字符串已变成”,j);
输入=j;
}
当输入包含(
或)
时,会引发所述异常,问题是:
string j = Regex.replace(input,ch , "");
ch
包含您遇到问题的括号
您的代码可以简化为重用Regex
:
string j = r3.Replace(input, "");
您也可以在这里使用一个简单的字符串替换
input.Replace(ch, "");
如果绝对必须使用staticRegex.Replace
,请首先对ch
变量中的所有Regex
特殊字符进行转义。只需将其更改为[(=)!@$%^&?/':\~`+,即可工作 当你得到这个错误?
input.Replace(ch, "");