所以我有一个for循环来检索要添加到我的baseurl的房间名称,所以我的URL将是这样的:
a = (baseUrl + roomName + "/users");
它适用于所有房间,除了一个有空间的房间,所以我尝试使用它:
a.replaceAll("\\s+", "");
和其他尝试,但他们返回
System.err﹕ java.io.FileNotFoundException: https://example.com:8443/conferenceRoom/First Floor/users
System.err﹕ at http.internal.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:186)
基本上,我有一个像https://example.com:8443/conferenceRoom/First楼层/用户
这样的链接我希望它是https://example.com:8443/conferenceRoom/FirstFloor/users所以首先'之间没有空格。和' floor'
(注意我确实使用openURLConnection(a))后来实际使用URL但我不认为它有任何与我的问题有关的内容,只是想澄清a是一个字符串
答案 0 :(得分:1)
如果您想从网址中删除空格,可以使用trim()
作为
a= a.trim();
如果要用“%20”替换空格,则可以使用
a = a.replace(" ", "%20");
在URL中包含空格可能会在某些情况下导致问题。因此,很多时间空间都被替换为%20(这是URL字符串中空格的ascii编码值)。如果您从网址中删除空格,则不会包含%20s。否则,他们会坚持下去。
答案 1 :(得分:0)
您的网址可能包含未被\ s mofidier覆盖的UTF空格。
只需使用删除所有空格的修剪:
a = a.trim();