Android-从字符串中删除URL百分比符号

时间:2011-08-05 16:22:06

标签: java android string url symbols

我有一个如下所示的网址:

自由%21%20英尺%20Whiskey%20Pete%20-%20Thunderfist%20%28Original%20Mix%29.mp3

我正在尝试从中提取单词。现在,我正在为每个%20,%29等使用string.replace("%21", "!"),因为每个段代表不同的字符或空格。有没有办法将这些符号和数字转换为它们实际意味着什么?

感谢。

2 个答案:

答案 0 :(得分:7)

这些符号是URL中不合法存在的字符的URLEncoded表示。 (%20 =单个空格等)

您需要对这些字符串进行UrlDecode:

http://icfun.blogspot.com/2009/08/java-urlencode-and-urldecode-options.html

官方文件:
http://download.oracle.com/javase/6/docs/api/java/net/URLDecoder.html

答案 1 :(得分:2)

似乎输入字符串是使用URL编码编写的。您可以在Java中使用URLDecoder类,而不是手动编写所有可能的替换(您几乎无法涵盖所有​​可能性)。

String input = "Liberty%21%20ft.%20Whiskey%20Pete...";
String decoded = URLDecoder.decode(input, "UTF-8");