Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 替换URL中的符号赢得';行不通_Java_Android_Http_Replaceall - Fatal编程技术网

Java 替换URL中的符号赢得';行不通

Java 替换URL中的符号赢得';行不通,java,android,http,replaceall,Java,Android,Http,Replaceall,我试图通过从web服务器接收url并将其转换为位图图像来在android中显示图像,但由于符号%5C在其中,因此出现以下错误 E/Error﹕ http:%5C/%5C/thumbs3.ebaystatic.com%5C/pict%5C/3007385805144040_5.jpg 我尝试了url2.replaceAll(“%5C”和“”)以去除符号,但这根本没有效果。我怎样才能摆脱它,这样我就有了一个有效的url。您要寻找的是一个称为url解码的url 请在此处阅读更多信息: 不要尝试手动替

我试图通过从web服务器接收url并将其转换为位图图像来在android中显示图像,但由于符号%5C在其中,因此出现以下错误

E/Error﹕ http:%5C/%5C/thumbs3.ebaystatic.com%5C/pict%5C/3007385805144040_5.jpg

我尝试了
url2.replaceAll(“%5C”和“”)
以去除符号,但这根本没有效果。我怎样才能摆脱它,这样我就有了一个有效的url。

您要寻找的是一个称为url解码的url

请在此处阅读更多信息:

不要尝试手动替换自己,使用库或为所有
案例编写自己的

Java1.7+:

import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;

String result = URLDecoder.decode(url, StandardCharsets.UTF_8.name());
现在尝试使用新URL作为您的路径。
如果URL有问题,那么这将对您有所帮助,否则问题来自将URL解码为位图时。

您没有将调用
replaceAll
的结果分配回
str2
?字符串在Java中是不可变的-只需调用
replaceAll
并忽略结果将没有任何效果。话虽如此,我还是想仔细研究一下为什么要首先获取这些数据——可能有更好的方法。您需要将结果分配给相同的字符串,如以下字符串newUrl=url.replaceAll(“%5C”,”);正在发布大致如下:)但在本例中,
urldecode.decode()
只需将
%5C
更改回Java中的
'\\\'
@timrau,就像许多语言一样,第一个\\“转义”下面的字符,因此\\->\。
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;

String result = URLDecoder.decode(url, StandardCharsets.UTF_8.name());
String url = "http:%5C/%5C/thumbs3.ebaystatic.com%5C/pict%5C/3007385805144040_5.jpg";
        String newUrl = url.replaceAll("%5C", "");