像这样的东西。
句子是
string ttt = "This is ?chef? and ?teacher? time";
这句话应改为
ttt = "This is 'chef' and 'teacher' time";
我正在查看一些在线样本
Regex.Replace(ttt, @"\?([^\$]*)\?", "REPLACE");
但我无法弄清楚应该写什么代替 REPLACE 。它应该是每个字的基础。
请帮助我。
答案 0 :(得分:2)
您将在替换调用中引用捕获组。它被称为反向引用。
String ttt = "This is ?chef? and ?teacher? time";
String result = Regex.Replace(ttt, @"\?([^?]*)\?", "'$1'");
Console.WriteLine(result); //=> "This is 'chef' and 'teacher' time"
Back-references回想一下capture group ( ... )
匹配的内容。反向引用指定为($
);然后是一个数字,表示要召回的群组号。
注意:我使用[^?]
进行否定,而不是匹配除文字$
之外的所有内容。
但如果你只是想要替换?
,那么简单的替换就足够了:
String result = ttt.Replace("?", "'");