Счетчик Android получает текст после запятой

#android #string #spinner #country

#Android #строка #счетчик #Страна

Вопрос:

В моем приложении для Android я использую счетчик для выбора данных .. и я создал string array для строк, которые будут отображаться в spinner. Я помещаю все детали в папку strings. Я хотел, чтобы выделенный текст отображался в редактируемом тексте после того, как пользователь выбрал элемент..

Например: счетчик используется для выбора кодов стран предположим, что пользователь выбрал США, тогда выделенный текст будет выглядеть следующим образом

Соединенные Штаты Америки, 001

Мне не нужно брать весь текст и отображать его в редактируемом тексте. Мне нужен только текст после запятой, то есть 001. Итак, есть ли какой-либо способ получить текст только после запятой

 Spinner spinner = (Spinner)findViewById(R.id.spinner);
String text = spinner.getSelectedItem().toString();
 

Я знаю, что это отобразит весь текст, я хочу только текст, который выводится после запятой

Комментарии:

1. Не можете использовать use split? Вот так: «text.split(‘,’)[1]» ?

Ответ №1:

Вы можете разделить свой текст на запятую:

 String text = spinner.getSelectedItem().toString();
String[] splited_text = text.split(",");
text = splited_text[1];
 

Комментарии:

1. текст = разделенный текст [1];

Ответ №2:

Предположим, что текст находится в имени строки text . используйте это:

 String[] temp = text.split(",")
String code  = temp[1]; // 001 the code after , temp[0] contains the rest
 

Ответ №3:

 String seperated[] = spinner.getSelectedItem().toString().split(",");
text = seperated[1];
 

Это вернет только » 001″.

Ответ №4:

 String code = text.substring(text.indexOf(','));
 

Ответ №5:

Вот как получить строку после последней запятой:

         String founded;
        Pattern p = Pattern.compile(".*,\s*(.*)");
        String dd = (String) "Your string, really, really2";
        Matcher m = p.matcher(dd);

        if (m.find()) {
            founded = m.group(1); //returns "really2"
        }