Android: парсинг URL в веб-сервис без пробела - PullRequest
1 голос
/ 16 июля 2010

Все, что я хочу сделать, это отправить строку URL в мой веб-сервис RESTFUL с помощью какого-то кода, подобного этому

<code>URL someURL= new URL("<a href="http://myWebService:port/service/" rel="nofollow noreferrer">http://myWebService:port/service/</a>"+CharSequence.getText());

Все идет хорошо, пока я не нашел ошибку с символом space в своем URL. Я нашел какое-то решение о замене символа пробела на% 20, который я уже определил примерно так:

<code>URL someURL= new URL("<a href="http://myWebService:port/service/" rel="nofollow noreferrer">http://myWebService:port/service/</a>"+CharSequence.getText().replace(" ", "%20"));

Все снова, кажется, идет хорошо, пока я не обнаружил, что функция replace(Char oldChara, Char newChara) может заменить только ОДИН символ пробела, а не два.

Для краткого примера, когда я отправляю CharSequence.getText() со значениями "We won", ошибки не будет, но когда я изменю значения на "We won the battles", возникнет ошибка, связанная с отправкой недопустимого символа в мой RESTFUL веб-сервис.

Любой ответ придет с моей большой благодарностью и большим салютом ~ Привет ~

1 Ответ

1 голос
/ 16 июля 2010

Используйте replaceAll вместо replace.
Хотя вы действительно должны правильно кодировать URL. Вы можете использовать URLEncoder.encode
например.

...