skm*_*asq 2 c# string replace escaping
我有话 ST.JOHN'S
如果我跑这两次(为了论证,我有一个合理的理由):
String.Replace("'", "''")
Run Code Online (Sandbox Code Playgroud)
结果将是 ST.JOHN''''S
我怎么能代替'用单引号''两个单引号只有当'单引号是没有任何额外'围绕单引号?
您可以使用正则表达式,如下所示:
Regex.Replace("ST.JOHN'S", "([^']|^)'([^']|$)", "$1''$2") // ST.JOHN''S
Run Code Online (Sandbox Code Playgroud)
或者像这样:
Regex.Replace("ST.JOHN'S", "(?<!')'(?!')", "''") // ST.JOHN''S
Run Code Online (Sandbox Code Playgroud)
无论哪种方式,这只会取代单'字符不会被任何其他包围'字符.