Intereting Posts
Андроид приложений аварийных ситуаций без каких-либо исключений, при попытке войти с помощью google plus Библиотека поддержки xamarin android v7 и v13 в том же приложении Android – MultipartEntity и зависимости Android4-только наличие браузера странного поведения с текстом ввода Использовать прогресс Диалог в нижнем колонтитуле Android – как установить текст для кнопки google + signin после аутентификации Как отключить взаимодействие с видео html5 в веб-просмотре или правильно перехватить их исключения? Контрольные суммы MD5 файлов Android APK различаются. Зачем? Андроид – формат json string в выводе adb logcat Play store alpha test скачать ссылка не работает FFMpeg jni в Android? Попытка показать StreetView с помощью Google Maps Android API v2 в Android, но не сможет заставить его работать Android: обнаружение, когда ScrollView Hits Bottom SystemClock.sleep () vs. Thread.sleep () во время ожидания цикла семафора Какие фильтры намерения должны покрывать мои приложения, если они появляются при выборе изображения из внешнего приложения?

Сплит-система Android

У меня есть строка под названием CurrentString и в виде чего-то вроде этого "Fruit: they taste good" .
Я хотел бы разделить CurrentString с помощью : как разделителя.
Таким образом, слово "Fruit" будет разделено на собственную строку и "they taste good" будет другой струной.
И тогда я просто хотел бы использовать SetText() из 2 разных TextViews для отображения этой строки.

Какой был бы лучший способ приблизиться к этому?

Solutions Collecting From Web of "Сплит-система Android"

 String CurrentString = "Fruit: they taste good"; String[] separated = CurrentString.split(":"); separated[0]; // this will contain "Fruit" separated[1]; // this will contain " they taste good" 

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

 separated[1] = separated[1].trim(); 

Есть и другие способы сделать это. Например, вы можете использовать класс StringTokenizer (из java.util ):

 StringTokenizer tokens = new StringTokenizer(CurrentString, ":"); String first = tokens.nextToken();// this will contain "Fruit" String second = tokens.nextToken();// this will contain " they taste good" // in the case above I assumed the string has always that syntax (foo: bar) // but you may want to check if there are tokens or not using the hasMoreTokens method 

.split будет работать, но он использует регулярные выражения. В этом примере это было бы (украсть у Кристиана):

 String[] separated = CurrentString.split("\\:"); separated[0]; // this will contain "Fruit" separated[1]; // this will contain " they taste good" 

Кроме того, это произошло из: Android split не работает правильно

Андроид разделяет строку запятой

 String data = "1,Diego Maradona,Footballer,Argentina"; String[] items = data.split(","); for (String item : items) { System.out.println("item = " + item); } 
  String s = "having Community Portal|Help Desk|Local Embassy|Reference Desk|Site News"; StringTokenizer st = new StringTokenizer(s, "|"); String community = st.nextToken(); String helpDesk = st.nextToken(); String localEmbassy = st.nextToken(); String referenceDesk = st.nextToken(); String siteNews = st.nextToken(); 

Вы также можете рассмотреть специфический для Android метод TextUtils.split () .

Разница между TextUtils.split () и String.split () документирована с помощью TextUtils.split ():

String.split () возвращает [''], когда разделяемая строка пуста. Это возвращает []. Это не удаляет пустые строки из результата.

Я нахожу это более естественным поведением. В сущности TextUtils.split () – это всего лишь тонкая оболочка для String.split (), которая касается конкретно случая с пустой строкой. Код для метода на самом деле довольно прост.