我有一个字符串,有可能是下面的格式:
"abc('test','test','test');"
或者
"abc('test',0,1)"abc其实是一个javascript函数来的,里面的三个参数,当其中一个参数中含有单引号的时候,执行起来就会出错,那么我需要处理掉中间的单引号。也就是当发现:
"abc('test','te'st','test');"的时候,需要转换成:
"abc('test','te\\'st','test');"不建议用循环去处理,因为这个字符串太过复杂,请教各位有没有好的方法处理这个问题。
"abc('test','test','test');"
或者
"abc('test',0,1)"abc其实是一个javascript函数来的,里面的三个参数,当其中一个参数中含有单引号的时候,执行起来就会出错,那么我需要处理掉中间的单引号。也就是当发现:
"abc('test','te'st','test');"的时候,需要转换成:
"abc('test','te\\'st','test');"不建议用循环去处理,因为这个字符串太过复杂,请教各位有没有好的方法处理这个问题。
1 先找到 ()中的内容 str1
2 用,号拆分 str1 = strTmp[n] 然后去除头尾的'
3 过滤新字符串中所有转义字符.
string strB =Regex.Replace(strA,"[^(),]['][^(),]","\\'");
但正则表达式有点问题。。
应该写成:
string strA="abc('test','te'st','test');";
string strB=Regex.Replace(strA,"(?<=[^(),])['](?=[^(),])","\\'");