正则表达式的字符串替换在C#
我有一个字符串如正则表达式的字符串替换在C#
var input = "data1, data2, 1233456, \"\"\" test, data, here \"\"\", 08976, test data"
我想test; data; here
简单的单词来替换这个字符串的\"\"\" test, data, here \"\"\"
部分代替逗号','
与semincolon3210内\"\"\"
块中的任何字符串只。
我想用正则表达式来做到这一点。
我尝试使用下面的正则表达式 - \[\\\\\"](.+)[\\\\\"]
回答:
仅供参考,如果你想有一个非正则表达式的解决方案进行比较,你可以用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