以下代码可以使用
string pattern = "\"cs\":\".*?\"";
string replacement = "\"cs\":\"\"";
Regex rgx = new Regex(pattern);
string stripped = rgx.Replace(resp.JsonResponse, replacement);
但是有可能对此进行调整,以便我只替换.*?
。
string pattern = "(exclude:\"cs\":\").*?(exclude:\")";
string replacement = "";
Regex rgx = new Regex(pattern);
string stripped = rgx.Replace(resp.JsonResponse, replacement);
答案 0 :(得分:0)
是的,仅匹配.*?
并添加positive lookahead/lookbehind断言,以确保它仅在条件正确时匹配。
所以,将你的模式改为
(?<="cs":").*?(?=")
(未逸出)
现在,只有当.*?
前面跟"cs":"
后跟"
时才匹配slcli vs create --hostname=machine-one --domain=stest.example.sample.net --cpu 4 --memory 8192 -o UBUNTU_14_64 --datacenter=sjc03 --billing=monthly --tag tagone,tagtwo,tagthree,tagfour,test.example.sample.net --public --network 1000 --private
。
问:看起来你正在编辑JSON。您是否有理由不想将此工作推迟到JSON解析器?