繁体   English   中英

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

[英]How can I replace ending of a string using regex?

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

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

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

如何在C#中实现呢?

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"
}

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

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

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

如果参数不能是查询字符串中的第一个,则替换\\? [?&]

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM