Как удалить пробелы в строке при добавлении ее в URL? - PullRequest
1 голос
/ 09 марта 2012

Я работал над генератором случайных строк, который отображает строку в верхней части страницы. Эта часть отлично работает. Но в нижней части страницы у меня есть гиперссылка, которая добавляет строку в конец URL (по сути, Google строку). Моя проблема заключается в том, что гиперссылка останавливается после первого слова в многословных строках. Например, youtube.com/user/dude работает нормально, в то время как youtube.com/user/lady gaga official - нет, потому что гиперссылка только выделяет "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 ]

6 голосов
/ 09 марта 2012

URLEncode строки запроса с помощью URLEncoder.encode (String s, String charset) .

5 голосов
/ 09 марта 2012

Используйте URLEncoder для автоматического экранирования ваших URL:

String text = URLEncoder.encode("The Raincoats", "UTF-8");
1 голос
/ 09 марта 2012

Заменить пробелы на +.Это должно сделать это.Например, это работает: http://www.allmusic.com/search/artist/the+heavy

Для этого вы можете сделать:

q = q.replaceAll("\\s+", "+"); 
1 голос
/ 09 марта 2012
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);

Это должно сработать. Я заменил все пробелы на "", вы можете заменить все, что захотите, возможно, подчеркивание "_"?

...