如何用c#中的regex.replace替换url字符串中间的文本

时间:2014-10-03 08:30:49

标签: c# windows-phone-8

我有这个字符串seen here,我希望它成为like this

我用* w460,(w460),w.0尝试了正则表达式,但没有任何作用

3 个答案:

答案 0 :(得分:0)

为什么你不使用Replace

var fullUrl = originalurl.Replace("w460", "full");

使用正则表达式:

var regex = new Regex(Regex.Escape("w460"));
var webString = regex.Replace(@"http://media.rtv.net/image/201410/w460/loc_crima_lac_67711100.jpg", "full", 1);

这将取代第一个“w460”文本

答案 1 :(得分:0)

试试这个:

var url = "http://media.rtv.net/image/201410/w460/loc_crima_lac_67711100.jpg";
url = url.Replace("/w460/", "/full/");

使用字符串的替换方法。

我不建议在这里使用正则表达式,它只会在代码中增加一些额外的开销。创建另一个对象实例只是为了替换单个字符串出现? String的Replace方法适用于这种情况,而且这种方式更具可读性。

答案 2 :(得分:0)

解决方案实际上取决于。什么是" w460"常数还是模式?你可以在下面制作,或者可以有更多的模式来匹配最好的requieremens

var input = @"http://media.rtv.net/image/201410/w460/loc_crima_lac_67711100.jpg";
var pattern = @"w\d{3}";
var replacement = "full";
var result = Regex.Replace(input, pattern, replacement);