使用正则表达式查找并替换特定数字

时间:2013-09-26 20:28:58

标签: c# regex

我有以下字符串

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"

2 个答案:

答案 0 :(得分:4)

$是正则表达式中的特殊字符(它是一个锚点)。您需要在表达式和替换字符串中对其进行转义,但它们的转义方式不同。

在正则表达式中,您使用\转义它,但在替换中,您通过添加另一个$来转义它:

Regex.Replace(absoluteUri, @"\$skip=\d+", "$$skip=1244");

答案 1 :(得分:0)

我无法添加评论。 只是一点点修复。需要做的事:

absoluteUri = Regex.Replace(absoluteUri, @"\$skip=\d+", "$skip=1244");