如何使用c#和正则表达式删除引号(")内的所有逗号
本文关键字:quot 何使用 正则表达式 删除 | 更新日期: 2023-09-27 18:09:52
如何构建一个正则表达式来删除引号(")内的所有逗号使用c#,然后用@代替它们?
:
像这样的初始字符串= (value 1,value 2,"value3,value4,value5",value 6)
期望字符串是这样的= (value 1,value 2,"value3@value4@value5", value 6)
可以使用
string input = "(value 1,value 2,'"value3,value4,value5'",value 6)";
var regex = new Regex("'''"(.*?)'''"");
var output = regex.Replace(input, m => m.Value.Replace(',','@'));
string input = "= (value 1,value 2,'"value3,value4,value5'",value 6)";
string pattern = "(?<='".*),(?=.*'")";
string result = Regex.Replace(input, pattern, "@");
下面提到的Regex模式可以识别双引号中的数据,即使是在多个级别Regex pattern: (['"].*['"])
List<string> input = new List<string>();
input.Add("= (value 1,value 2,'"value3,value4,value5'",value 6)");
input.Add("'"(value 1,value 2,'"value 3, value 4'",value 5,value 6)'"");
var regex = new Regex("(['"].*['"])");
List<string> output = input.Select(data => regex.Replace(data, m=> m.Value.Replace(',','@'))).ToList();
foreach(string dat in output)
Console.WriteLine(dat);