我有一个字符串 "http://www.something.com/test/?pt=12"
我想使用正则表达式将pt=12
替换为pt=13
。
替换后的字符串将为: "http://www.something.com/test/?pt=13"
如何在C#中实现这一目标?
答案 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
属性,可用于重建查询字符串。