我想做的就是使用类似这样的代码将 URL 字符串发送到我的 RESTFUL Web 服务中
URL someURL= new URL("<a href="http://myWebService:port/service/" rel="noreferrer noopener nofollow">http://myWebService:port/service/</a>"+CharSequence.getText());
一切顺利,直到我在我的 URL 中发现 space
字符错误。我找到了一些关于用 %20 替换空格字符的解决方案,这是我已经用这样的东西定义的:
URL someURL= new URL("<a href="http://myWebService:port/service/" rel="noreferrer noopener nofollow">http://myWebService:port/service/</a>"+CharSequence.getText().replace(" ", "%20"));
再次,一切似乎都很顺利,直到我发现 replace(Char oldChara, Char newChara)
函数只能替换一个空格字符,而不是两个。
举个简单的例子,当我发送带有值 "We won"
的 CharSequence.getText()
时不会出现错误,但是当我将值更改为 “We won the battles”
将出现一个错误,指出有一些非法字符发送到我的 RESTFUL web 服务。
任何形式的回答都会得到我的感谢和崇高的敬意 ~问候~
最佳答案
使用replaceAll
而不是 replace
。
虽然,您确实应该进行适当的 URL 编码。您可以使用 URLEncoder.encode
例如。
关于Android:将 URL 解析为没有空格字符的 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3260746/