我有以下字符串
string absoluteUri = "http://localhost/asdf1234?$asdf=1234&$skip=1234&skip=4321&$orderby=asdf"
在这个字符串中我想用'$ skip = 1244'替换'$ skip = 1234'
我尝试过以下正则表达式:
Regex.Replace(absoluteUri, @"$skip=\d+", "$skip=1244");
不幸的是,这不起作用。我做错了什么?
输出应为:
"http://localhost/asdf1234?$asdf=1234&$skip=1244&skip=4321&$orderby=asdf"
答案 0 :(得分:4)
$
是正则表达式中的特殊字符(它是一个锚点)。您需要在表达式和替换字符串中对其进行转义,但它们的转义方式不同。
在正则表达式中,您使用\
转义它,但在替换中,您通过添加另一个$
来转义它:
Regex.Replace(absoluteUri, @"\$skip=\d+", "$$skip=1244");
答案 1 :(得分:0)
我无法添加评论。 只是一点点修复。需要做的事:
absoluteUri = Regex.Replace(absoluteUri, @"\$skip=\d+", "$skip=1244");