使用C#Regex替换字符串中的字符

使用C#Regex替换字符串中的字符,c#,regex,string,C#,Regex,String,我想知道如何用另一个字符替换数组括号内的,字符[],例如。我的字符串表达式如下所示: 属性[“412324-PENNDOT I-95”,“类别”]。值,属性[“412324-PENNDOT I-95”,“类别”]。代码 预期产出应为: 属性[“412324-PENNDOT I-95”“类别”]。值,属性[“412324-PENNDOT I-95”“类别”]。代码 如果它总是在这个sheme中,那么字符串会更快。替换: string sin = "Attributes["412324 - PENN

我想知道如何用另一个字符替换数组括号内的
字符
[]
,例如
。我的字符串表达式如下所示:

属性[“412324-PENNDOT I-95”,“类别”]。值,属性[“412324-PENNDOT I-95”,“类别”]。代码

预期产出应为:

属性[“412324-PENNDOT I-95”“类别”]。值,属性[“412324-PENNDOT I-95”“类别”]。代码


如果它总是在这个sheme中,那么字符串会更快。替换:

string sin = "Attributes["412324 - PENNDOT I-95", "Category"].Value, Attributes["412324 - PENNDOT I-95", "Category"].Code";
string sout = sin.Replace("\", \"","\". \"");

您可以对RegEx执行相同的操作,但速度会慢一些,而且如果输入字符串更改了它的结构,它仍然可能会中断。

var RegEx=new RegEx(@)(?您尝试过什么吗?发布一些您到目前为止尝试过的代码。是的,我尝试过,它很有效。这是一个有效的解决方案,但我不同意您最后的评论。您的解决方案比一个好的正则表达式解决方案更容易崩溃。是的,我知道,正则表达式在大多数情况下都可以工作,但如果输入字符串总是这样的话-OP可以考虑使用这个,简单得多(而且更快)。解决方案。不管怎么说,OP问题的绝对正确答案是Jay的答案-它大量使用正则表达式来替换您提到的正确逗号,这个解决方案应该可以工作,但是,有时候,输入字符串可能/可能没有额外的空格,引号可能是单引号。我在问题中没有明确说明。谢谢,Jay。这个解决方案有效!它激励我学习更多关于正则表达式的知识。
var regex = new Regex(@"(?<=\[[^\[\]]*),(?=[^\[\]]*\])");
return regex.Replace(<your sample string>, ".");