替换字符串中的一些字符

时间:2017-05-29 15:25:33

标签: c# string

我有这个字符串

link="https%3a%2f%2fen.wikipedia.org%2fwiki%2fHuawei/"

应该是这样的:

link="https://en.wikipedia.org/wiki/Huawei/"

我写了这段代码:

link.Replace("%2f", "/");
link.Replace("%3a", ":");

但它不起作用。

3 个答案:

答案 0 :(得分:3)

我没有尝试自己解码网址,而是使用HttpUtility.UrlDecode

HttpUtility.UrlDecode("https%3a%2f%2fen.wikipedia.org%2fwiki%2fHuawei/")
"https://en.wikipedia.org/wiki/Huawei/"

请参阅:https://msdn.microsoft.com/en-us/library/system.web.httputility.urldecode(v=vs.110).aspx

答案 1 :(得分:1)

String.Replace会返回替换值try:

link = link.Replace("%2f", "/");

答案 2 :(得分:0)

link是一个字符串,在您调用Replace方法

时不会发生变异

link.Replace不会影响链接对象本身,而是it returns a new String 来自doc强调我的:

  

返回一个新字符串,其中所有出现的指定Unicode   此实例中的字符将替换为另一个指定的Unicode   字符。

改为:

link = link.Replace("%2f", "/");   or
link = link.Replace("%3a", ":");