我有以下字符串
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"
请您参考如下方法:
$ 是正则表达式中的一个特殊字符(它是一个 anchor )。您需要在表达式和替换字符串中对它进行转义,但它们的转义方式不同。
在正则表达式中,您使用 \ 对其进行转义,但在替换中,您通过添加另一个 $ 对其进行转义:
Regex.Replace(absoluteUri, @"\$skip=\d+", "$$skip=1244");
