C# c中的正则表达式字符串替换#

C# c中的正则表达式字符串替换#,c#,regex,c#-4.0,C#,Regex,C# 4.0,我有一根像 var input = "data1, data2, 1233456, \"\"\" test, data, here \"\"\", 08976, test data" 我想用test替换这个字符串的\“\”\“\”\“\”部分;数据;此处 简单地说,将逗号,“替换为分号;”仅块内的任何字符串 我试图用正则表达式来实现这一点 我尝试使用以下正则表达式-\[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\.+)[\\\\\\\\\\\\\\\\

我有一根像

var input =  "data1, data2, 1233456,  \"\"\" test, data, here \"\"\", 08976, test data"
我想用
test替换这个字符串的
\“\”\“\”\“\”
部分;数据;此处

简单地说,将逗号
,“
替换为分号
;”仅块内的任何字符串

我试图用正则表达式来实现这一点


我尝试使用以下正则表达式-
\[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\.+)[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

input= string.Join("\"\"\"", 
         input.Split(new []{"\"\"\""}, StringSplitOptions.None)
         .Select( (s,i) => i % 2 == 1 ? s.Replace (',', ';') : s)
       );

我认为不可能对这个字符串使用正则表达式:
data11233456,“测试,数据,这里”,08976,测试,“第二,数据”,aso


有可能:
data1233456,,08976,test,,aso


但不是“xxx”

模式:
\“{3}.*\“{3}

与此模式字符串匹配的foreach正则表达式。替换(“,”,“;”)

但我想让regex。。。
我放弃了:/

谢谢盖伊的帮助

你的回答很有用

最后,在


以下代码可能满足要求

变量输出=Regex.Replace(输入,
“(?继续,在你的问题中添加失败的代码尝试。这不会让问题变得更清楚,但可能会让人们指出你可能存在的一个小误解……而且这也会让人们更有可能回答这个问题(奇怪,但却是真的)。”正如@Beska所说的……如果人们知道你已经尝试过,他们会更愿意提供帮助。发布你的代码表明,请检查我的答案,我可能不认为可以用正则表达式对以下字符串执行此操作:
data11233456,“”“test,data,here”“,08976,test,”“second,data”“”,aso
您能否确认输入是data1,data2,1233456,““测试,数据,此处”“,08976,测试数据(不带转义字符)?当您在正则表达式上运行时。替换时,您应获得…data1,data2,1233456,”“测试;数据;此处”“,08976,测试数据(不带转义)。请让我知道这是否是您正在寻找的。您可以在此处进行测试:但即使您解决了此问题,在“”之后和开始下一个“”之前的数据也是正确的
//My input string
var input  = Regex.Replace(input  , "[\\\"](.+)[\\\"]", ReplaceMethod);


//Method used to replace 
public static string ReplaceMethod(Match m)
    {
        string newValue = m.Value;
        return newValue.Replace("\"", "").Replace(",", ";");
    }