将URL添加到URL时,如何删除字符串中的空格?

时间:2012-03-09 15:46:34

标签: android string url hyperlink space

我一直在研究一个随机字符串生成器,它在页面顶部显示字符串。那部分工作正常。但是在页面的底部我有一个超链接,将字符串添加到网址的末尾(基本上是google字符串)。我的问题是超链接在多字符串中的第一个单词后停止。例如,youtube.com/user/dude工作正常,而youtube.com/user/lady gaga官方则没有,因为超链接仅突出显示“youtube.com/user/lady”,其余部分仅为纯文字。

如何在不破坏屏幕顶部已显示的字符串的情况下包含所有这些内容? 谢谢!

这是我的超链接代码:

Resources res = getResources();
    myString = res.getStringArray(R.array.myArray); 
            String q = myString[rgenerator.nextInt(myString.length)];
btn.setText("http://www.allmusic.com/search/artist/"+q);

以下是我的问题图片:

http://i40.tinypic.com/2s0obr6.png

4 个答案:

答案 0 :(得分:6)

使用URLEncoder.encode(String s, String charset)对您的查询字符串进行编码。

答案 1 :(得分:5)

使用URLEncoder自动转义您的网址:

String text = URLEncoder.encode("The Raincoats", "UTF-8");

答案 2 :(得分:1)

myString = res.getStringArray(R.array.myArray); 
String q = myString[rgenerator.nextInt(myString.length)];
q = q.replaceAll("\\s+", ""); // remove all whitespaces
btn.setText("http://www.allmusic.com/search/artist/"+q);

这应该可以解决问题。我用“”替换了所有的空格,你可以替换你想要的任何东西,也许是下划线“_”?

答案 3 :(得分:1)

+替换空格。应该这样做。例如,这有效:http://www.allmusic.com/search/artist/the+heavy

要做到这一点,你可以这样做:

q = q.replaceAll("\\s+", "+");