Удаление пробела из строки редактирования текста - PullRequest
2 голосов
/ 11 мая 2011

В моем приложении для Android я получаю строку из текста редактирования и использую его в качестве параметра для вызова веб-службы и получения данных JSON. Теперь метод, который я использую для получения значения String из Edit Text, выглядит следующим образом:

final EditText edittext = (EditText) findViewById(R.id.search);

String k = edittext.getText().toString();

Теперь обычно все работает нормально, но если текст в «Редактировать текст» содержит пробел, мое приложение вылетает.

например. - если кто-то печатает «еда» в текстовом поле «Редактировать», тогда все в порядке но если кто-то наберет «индийскую еду», она рухнет.

Как убрать пробелы и получить только строку?

Ответы [ 4 ]

17 голосов
/ 11 мая 2011

Разве это не просто Java?

String k = edittext.getText().toString().replace(' ', '');
2 голосов
/ 10 ноября 2016
String email=recEmail.getText().toString().trim();
String password=recPassword.getText().toString().trim();

В будущем я настоятельно рекомендую проверить методы Java String в API .Это путь к тому, чтобы максимально использовать возможности вашей среды Java.

2 голосов
/ 11 мая 2011

попробуйте это ...

final EditText edittext = (EditText) findViewById(R.id.search);

String k = edittext.getText().toString();

String newData  = k.replaceAll(" ", "%20");

и используйте "newData"

0 голосов
/ 11 мая 2011

Вы можете легко удалить все пробелы, используя что-то вроде this .Но вы столкнетесь с еще одной серьезной проблемой, если просто сделаете это.Например, если у вас введен

String input1 = "aa bb cc"; // output aabbcc
String input2 = "a abbcc";  // output aabbcc
String input3 = "aabb cc";  // output aabbcc

Одним из решений будет исправление вашего приложения для приема пробелов во входной строке или использование какого-либо другого литерала для замены пробелов.Если вы используете только буквенно-цифровые значения, вы делаете что-то вроде этого

String input1 = "aa bb cc"; // aa_bb_cc
String input2 = "a abbcc";  //a_abbcc
String input3 = "aabb cc";  //aabb_cc

И, в конце концов, если вас не интересует потеря информации, вы можете использовать любой подход.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...