Skip to main content
 首页 » 编程设计

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

2024年02月13日30zhenyulu

我有以下字符串

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");