如何替换字符串中的引号中的符号

时间:2015-09-03 19:31:52

标签: c# regex string

我有一个分号分隔字符串,其中包含每种类型的值。字符串和日期值在引号中。

现在我有一个邪恶的字符串,其中一个内部字符串包含s分号,我需要删除(无需替换)。

例如:

  

“Value1”; 0;“Value2”; 4711;“邪恶;价值”;“2015-09-03”

在C#中

string value = "\"Value1\";0;\"Value2\";4711;\"Evil; Value\";\"2015-09-03\""

那么如何替换引号中的所有分号?有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

正则表达式糟糕处理分隔字符串。它可以做到,但它通常不像它首次出现的那样好。这是原因之一。

相反,您应该使用专用的分隔字符串解析器。 .Net框架中内置了(至少)三个。 TextFieldParser类型就是其中之一,它会正确处理。

答案 1 :(得分:-1)

你应该试试这个,只匹配那些前面没有:的分号:

(?<=[^"]);

这是demo