如何使用正则表达式替换字符串的结尾?

时间:2015-07-30 04:26:31

标签: c# regex string

我有一个字符串 "http://www.something.com/test/?pt=12"

我想使用正则表达式将pt=12替换为pt=13

替换后的字符串将为: "http://www.something.com/test/?pt=13"

如何在C#中实现这一目标?

2 个答案:

答案 0 :(得分:1)

string result = "";
Regex reg = new Regex("(.*)(pt=12)");
Match regexMatch = reg.Match("http://www.something.com/test/?pt=12");
if(regexMatch.Success){
    result = regexMatch.Groups[1].Value + "pt=13"
}

答案 1 :(得分:1)

我想你知道pt=部分。我还假设参数值是一个数字。

然后,您可以使用以下正则表达式替换:

var newval = 13;
var res = Regex.Replace(str, @"\?pt=[0-9]+", string.Format("?pt={0}", newval));

如果参数在查询字符串中不是第一个,请将\?替换为[?&]

请注意,您可以使用System.UriBuilder类。它有一个Query属性,可用于重建查询字符串。