替换引号内的文字直到下一个引用

时间:2012-12-16 17:01:44

标签: c# regex replace match

String input = "helloj\"iojgeio\r\ngsk\\"jopri\"gj\r\negjoijisgoe\"joijsofeij\"\"\"ojgsoij\"";

这是我当前的代码,但是我添加了一些必须在此之前运行的代码 一些'''拆分到另一条线上,因此除非在某些情况下,否则将代码置于下面 '''没有放到下一行。

firstQuote = input.IndexOf("\"");
lastQuote = input.LastIndexOf("\"");
input = input.Substring(0, firstQuote) + "<span>quote" +
    input.Substring(firstQuote + 1, lastQuote - (firstQuote + 1) + "quote</span>" +
    input.Substring(lastQuote + 1, lines.Length - (lastQuote + 1);

如何从

更改输入字符串
input = "helloj\"iojgeio\r\ngsk\\"jopri\"gj\r\negjoijisgoe\"joijsofeij\"\"\"ojgsoij\"";

input = "helloj(<span>quoteiojgeio\r\ngsk\\"jopriquote</span>gj\r\negjoijisgoe<span>quotejoijsofeijquote</span><span>quotequote</span>ojgsoijquote";

1 个答案:

答案 0 :(得分:0)

使用此正则表达式

 @"(?<!\\)\\\""(.*?)(?<!\\)\\\"""

并将其替换为

 <span>quote$1quote</span>