如何在字符串中用'
替换\\'
。 (这可以使用Regex.IsMatch(), Regex.Matches(), Regex.Replace()
完成
但是,只有在'
之前没有\
或\\
时才应该这样做。 (这是我被困的地方)
这意味着找到之前没有'
或\
的所有\\
,然后添加相同的内容,即'
替换为\\'
示例字符串:'abcd\'efg'hijkl'mno\\'pqrs'
结果字符串:\\'abcd\\'efg\\'hijkl\\'mno\\'pqrs\\'
答案 0 :(得分:9)
甚至不需要正则表达式。
var newStr = oldStr.Replace("\\'", "'").Replace("'", "\\'");
使用正则表达式,您可以找到之前没有'
的所有\\
:
[^\\]'
答案 1 :(得分:5)
我认为@YoryeNathan获胜。但只是为了教授正则表达式课程,这正是负面的后视断言的存在。取代
(?<!\\\\)'
与
\\'
<强>用法强>
string output = Regex.Replace(input, "(?<!\\\\)'", "\\'");