假设我有以下句子
select PathSquares from tblPathFinding where RouteId=470
and StartingSquareId=267 and ExitSquareId=13
现在我想替换=
后面的单词并获取句子的其余部分
假设我想用=
%
的后续字词
单词用空格分隔
所以这句话会变成
select PathSquares from tblPathFinding where RouteId=%
and StartingSquareId=% and ExitSquareId=%
我可以用哪个正则表达式来实现这个目标?
.net 4.5 C#
答案 0 :(得分:1)
使用lookbehind匹配=
符号后面的所有非空格或单词字符。用%
wiil替换匹配的字符可以得到所需的输出。
@"(?<==)\S+"
OR
@"(?<==)\w+"
替换字符串:
%
string str = @"select PathSquares from tblPathFinding where RouteId=470
and StartingSquareId=267 and ExitSquareId=13";
string result = Regex.Replace(str, @"(?<==)\S+", "%");
Console.WriteLine(result);
<强>解释强>
(?<==)
断言匹配必须以=
符号开头。\w+
如果是,则匹配以下一个或多个单词字符。