Класс StringTokenizer предназначен для разбора строки на составные элементы. Используя этот класс можно выделить из строки слова, задав какие разделители находятся между словами.
1. StringTokenizer tokenizer = new StringTokenizer(String str) - с помощью этого конструктора мы можем создать объект, который позволит нам разбить строку str на слова разделенные пробелами или следующими символами: символ табуляций '\t', символ перевода строки '\n' и символ возврата каретки '\r'.
String str1 = "This is Sparta";
StringTokenizer tokenizer1 = new StringTokenizer(str1);
2. StringTokenizer tokenizer = new StringTokenizer(String str, String delim) - с помощью второго конструктора мы можем задать разделители использую второй параметр конструктора delim. Например, ";:,. " - тут последним разделителем задан пробел, если его не указать, то пробел не будет считаться как разделитель, если мы используем этот конструктор.
String str2 = "This,is.second;example:of StringTokenizer";
StringTokenizer tokenizer2 = new StringTokenizer(str2, ",.:; ");
3. StringTokenizer tokenizer = new StringTokenizer(String str, String delim, String returnDelims) - используя этот конструктор, можно задать через третий параметр returnDelims, чтобы разделители включались в число слов. Если returnDelims равно true, то разделители будут включены в число слов, если false, то не будут.
String str3 = "This,is.third;example: of that post";
StringTokenizer tokenizer3 = new StringTokenizer(str3, ",.:; ", true);
Для демонстрации того, как работать с классом StringTokenizer я буду использовать три основных метода этого класса:
1. Метод int countTokens() - возвращает количество слов разделенных заданными разделителями
2. Метод boolean hasMoreTokens() - возвращает true, если в строке есть еще слова, в противном случае возвращает false
3. Метод String nextToken() - возвращает следующее слово
Конструкторы класса StringTokenizer
String str1 = "This is Sparta";
StringTokenizer tokenizer1 = new StringTokenizer(str1);
2. StringTokenizer tokenizer = new StringTokenizer(String str, String delim) - с помощью второго конструктора мы можем задать разделители использую второй параметр конструктора delim. Например, ";:,. " - тут последним разделителем задан пробел, если его не указать, то пробел не будет считаться как разделитель, если мы используем этот конструктор.
String str2 = "This,is.second;example:of StringTokenizer";
StringTokenizer tokenizer2 = new StringTokenizer(str2, ",.:; ");
3. StringTokenizer tokenizer = new StringTokenizer(String str, String delim, String returnDelims) - используя этот конструктор, можно задать через третий параметр returnDelims, чтобы разделители включались в число слов. Если returnDelims равно true, то разделители будут включены в число слов, если false, то не будут.
String str3 = "This,is.third;example: of that post";
StringTokenizer tokenizer3 = new StringTokenizer(str3, ",.:; ", true);
Методы класса StringTokenizer
1. Метод int countTokens() - возвращает количество слов разделенных заданными разделителями
2. Метод boolean hasMoreTokens() - возвращает true, если в строке есть еще слова, в противном случае возвращает false
3. Метод String nextToken() - возвращает следующее слово
Исходный код программы, показывающей как использовать класс StringTokenizer
import java.util.StringTokenizer; public class StringTokenizerExample { public static void main(String[] args) { System.out.println("Example of how work first constructor of StringTokenizer"); String str1 = "This is Sparta"; StringTokenizer tokenizer1 = new StringTokenizer(str1); System.out.println("Count of tokens in string str1: " + tokenizer1.countTokens()); while (tokenizer1.hasMoreTokens()) { System.out.println(tokenizer1.nextToken()); } System.out.println(); System.out.println("*******************************************************"); System.out.println(); String str2 = "This,is.second;example:of StringTokenizer"; StringTokenizer tokenizer2 = new StringTokenizer(str2, ",.:; "); System.out.println("Count of tokens in string str2: " + tokenizer2.countTokens()); while (tokenizer2.hasMoreTokens()) { System.out.println(tokenizer2.nextToken()); } System.out.println(); System.out.println("*******************************************************"); System.out.println(); String str3 = "This,is.third;example: of that post"; StringTokenizer tokenizer3 = new StringTokenizer(str3, ",.:; ", true); System.out.println("Count of tokens in string str3: " + tokenizer3.countTokens()); while (tokenizer3.hasMoreTokens()) { System.out.println(tokenizer3.nextToken()); } } }
Комментариев нет:
Отправить комментарий