我有一个分号分隔字符串,其中包含每种类型的值。字符串和日期值在引号中。
现在我有一个邪恶的字符串,其中一个内部字符串包含s分号,我需要删除它(无需替换)。
例如:
"Value1";0;"Value2";4711;"Evil; Value";"2015-09-03"
在C#中:
string value = "\"Value1\";0;\"Value2\";4711;\"Evil; Value\";\"2015-09-03\""
那么如何替换引号中的所有分号?
答案 0 :(得分:-4)
在某人再次将其标记为重复之前,我现在会发布正确答案!
StringBuilder builder = new StringBuilder(line);
foreach (Match m in Regex.Matches(builder.ToString(), "\".*?\""))
{
if (m.Value.Contains(";")) // If it contains a semicolon
{
string temp = m.Value.Replace(";", "");
builder.Replace(m.Value, temp);
}
}
var parts = builder.ToString().Split(new char[] { ';' });