替换字符串中的开头和结尾但不是相同的字符

时间:2012-12-16 03:55:06

标签: c# regex replace contains

lines = "some stuff\"some other \"stuff\"\"";
lines = lines.Replace("\"", "\"");
lines = lines.Replace("\"", "\"");

在当前的上下文中,以最简单的形式,这两个动作看起来毫无意义,但当我把它放到代码中时,它将毫无意义,并且除了用自身替换之外还有其他目的。

好的,所以我的String行有4个转义引号,我希望用引号替换第一个引号,并用引号替换引号,如何在不替换任何内部引号的情况下完成此操作?

1 个答案:

答案 0 :(得分:2)

使用IndexOf和LastIndexOf查找第一个和最后一个引号。然后使用Substring替换引号:

lines = "some stuff\"some other \"stuff\"\"";
firstQuote = lines.IndexOf("\"");
lastQuote = lines.LastIndexOf("\"");
lines = lines.Substring(0, firstQuote) + "\"" + lines.Substring(firstQuote + 1, lastQuote) + "\"" + lines.Substring(lastQuote + 1, lines.Length);