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

我有一个字符串如正则表达式的字符串替换在C#

var input = "data1, data2, 1233456, \"\"\" test, data, here \"\"\", 08976, test data" 

我想test; data; here

简单的单词来替换这个字符串的\"\"\" test, data, here \"\"\"部分代替逗号','与semincolon​​3210内\"\"\"块中的任何字符串只。

我想用正则表达式来做到这一点。

我尝试使用下面的正则表达式 - \[\\\\\"](.+)[\\\\\"]

回答:

仅供参考,如果你想有一个非正则表达式的解决方案进行比较,你可以用LINQ也这么做:

input= string.Join("\"\"\"", 

input.Split(new []{"\"\"\""}, StringSplitOptions.None)

.Select((s,i) => i % 2 == 1 ? s.Replace (',', ';') : s)

);

回答:

我不“T认为这是可能的正则表达式来做到这一点该字符串:
data1, 1233456, """ test, data, here """, 08976, test, """ second, data """, aso

这是可能的:
data1, 1233456, < test, data, here >, 08976, test, < second, data >, aso

而不是 “XXX”

模式:\"{3}.*\"{3}
的foreach正则表达式匹配这个模式与string.replace( '', ';')

但我试图让正则表达式。 ..
,我放弃:求助/

回答:

感谢家伙,

你的回答是有用的。

终于与this link

//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(",", ";");

}

回答:

下面的代码是可能满足要求...

无功输出= Regex.Replace(输入, 帮助,下面的代码来做到这一点“(?< = \”\“\”。+),(?=。+ \“\”\“)”,“;”);

以上是 正则表达式的字符串替换在C# 的全部内容, 来源链接: utcz.com/qa/265261.html

回到顶部