1

次の文字列があります

string absoluteUri = "http://localhost/asdf1234?$asdf=1234&$skip=1234&skip=4321&$orderby=asdf"

この文字列で、「$skip=1234」を「$skip=1244」に置き換えたいと思います

次の正規表現を試しました。

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

残念ながら、これは機能していません。私は何を間違っていますか?

出力は次のようになります。

"http://localhost/asdf1234?$asdf=1234&$skip=1244&skip=4321&$orderby=asdf"
4

2 に答える 2

4

$は正規表現の特殊文字です (アンカーです)。式と置換文字列の両方でエスケープする必要がありますが、エスケープ方法が異なります。

正規表現では a でエスケープし\ますが、置換では別の を追加してエスケープします$:

Regex.Replace(absoluteUri, @"\$skip=\d+", "$$skip=1244");
于 2013-09-26T20:30:28.050 に答える