在C#中我尝试替换字符串中的字符。更确切地说,只要有一个双引号没有跟着,也没有在逗号之前,我想用单引号替换双引号。所以,例如:
John",123
和 123,"约翰
都很好,因为双引号之前或之后都有逗号,但是:
John"Marks
不合适,因为有一个双引号,它既没有前面没有逗号,所以应该用单引号替换它。即它应该成为:
John'Marks
我努力想象这一个......任何想法都有吗?感谢...
答案 0 :(得分:6)
您可以使用环顾四周搜索正则表达式:
(?<!,)"(?!,)
RegEx分手:
(?<!,)
- 断言前一个字符的否定Lookbehind不是逗号"
- 匹配双引号(?!,)
- 断言下一个字符的否定前瞻不是逗号替换字符串只是一个引用"'"
<强>代码:强>
string repl = Regex.Replace(str, @"(?<!,)\"(?!,)", "'");