如何忽略.NET中带引号的字符串中的文本.我有以下字符串
This is test, 'this is test inside quote'
Run Code Online (Sandbox Code Playgroud)
说我正在搜索test并替换它应该只替换test引号内不存在.
This is, 'this is test inside quote'.
Run Code Online (Sandbox Code Playgroud)
我使用它来匹配引用文本中的文本.
(["']).*?\1
Run Code Online (Sandbox Code Playgroud)
我会用Regex.Replace().正则表达式将匹配未引用的字符串,后跟带引号的字符串,匹配评估程序将替换test非引用的部分.像这样的东西:
Regex.Replace("This is test, 'this is test inside quote' test",
@"(.*?)((?<quote>[""']).*?\k<quote>|$)",
m => m.Groups[1].Value.Replace("test", "") + m.Groups[2].Value)
Run Code Online (Sandbox Code Playgroud)
组1是未引用的部分,组2是引用的部分(或字符串的结尾).以上结果是:
This is , 'this is test inside quote'
Run Code Online (Sandbox Code Playgroud)