Як розділити рядки в Java
До Java 1.4, StringTokenizer використовувався для розділення рядків в Java. Після JDK 1.4, використання StringTokenizer не рекомендується, а замість цього рекомендується використання методу String.split (...) або пакета java.util.regex.
Кроки
1
Використання StringTokenizer: StringTokenizer з пакету java.util.StringTokenizer і фрагмент коду такий:StringTokenizer st = new StringTokenizer ("string tokenizer example") -
Результат вищепредставлених коду - етоподсчет символів: 3сімвол = строкасімвол = tokenizerсімвол = приклад
System.out.println ("tokens count:" + st.countTokens ()) -
// Iterate through st object to get more tokens from it
while (st.hasMoreElements ()) {
String token = st.nextElement (). ToString () -
System.out.println ("token =" + token) -
}2
Використання методу розділення: Клас Java String визначає два методи поділу об`єктів Java String.
(1) String [] split (String regEx), який розбиває рядки відповідно до заданого звичайним виразом.
(2) String [] split (String regEx, int limit), який розбиває рядки відповідно до заданого звичайним виразом. Параметр обмеження контролює кількість разів застосування шаблону, і тим самим впливає на довжину результату
Фрагмент коду для String [] split (String regEx)String str = "st1-st2-st3" -
String delimiter = "-" -
String [] temp-
temp = str.split (delimiter) -
for (int i = 0- i < temp.length - i++)
System.out.println (temp [i]) -
Виходить:
st1
st2
st3
Фрагмент коду для String [] split (String regEx, int limit)String str = "st1-st2-st3" -
The output isst1st2-st3
String delimiter = "-" -
String [] temp-
temp = str.split (delimiter, 2) -
for (int i = 0- i < temp.length - i++)
System.out.println (temp [i]) -3
Використання звичайного виразу. Приклад для цього наступнийString input = "st1: st2: st3" -
Тут, другий sysout - це приклад методу розділення з аргументом ограніченія.Результат вищепредставлених фрагмента коду наступний: [st1, st2, st3] [st1, st2: st3]
System.out.println (Arrays .asList (Pattern.compile (":"). Split (input))) -
System.out.println (Arrays.asList (Pattern.compile (":"). Split (input, 2))) -