Строка Android Split

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

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

 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(); 

Есть и другие способы сделать это. Например, вы можете использовать class 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 () – это всего лишь тонкая shell для String.split (), специально посвященная случаю с пустой строкой. Код для метода на самом деле довольно прост.

  • Как получить текущий момент в формате ISO 8601 с датой, часом и минутой?
  • Как вызвать метод после задержки в Android
  • В чем разница между a + = b и a = + b, а также ++ и ++ a?
  • Как получить список установленных принтеров?
  • Как вызвать веб-службу SOAP на Android
  • Внутренний class может получить доступ, но не обновлять значения - AsyncTask
  • HashMap с несколькими значениями под одним и тем же ключом
  • java: Class.isInstance vs Class.isAssignableFrom
  • Render PDF-файл с помощью Java на Android
  • как переопределить кнопку панели действий в андроиде?
  • Android Studio: не удалось выполнить выполнение gradleиента, причина пуста
  • Давайте будем гением компьютера.