Синтаксический разбор строки

В пакет java.utii входит простой класс stringiokenizer, облегчающий разбор строк.

Класс StringTokenizer

Класс StringTokenizer из пакета java.utii небольшой, в нем три конструктора и шесть методов.

Конструкторы

StringTokenizer (String str)

создает объект, готовый разбить строку str на слова, разделенные пробелами, символами табуляций '\t', перевода строки '\n' и возврата каретки '\r'. Разделители не включаются в число слов.

StringTokenizer (String str. String delimeters)

разбивает строку в соотвествии с символами разделителями в delimeters.

StringTokenizer(String str, String deiimeters, boolean flag);

Если параметр flag равен true, то разделители включаются в число слов, если false — нет. Например:

StringTokenizer("а - (Ь + с) / Ь * с", " \t\n\r+*-/(), true);

Разбор строки

В разборе строки на слова участвуют два методы:

nextToken () возвращает в виде строки следующее слово;

hasMoreTokens () возвращает true, если в строке еще есть слова, и false, если слов больше нет.

countTokens () возвращает число оставшихся слов.

nextToken(string newDeiimeters) позволяет "на ходу" менять разделители. Следующее слово будет выделено по новым разделителям newDeiimeters; новые разделители действуют далее вместо старых разделителей, определенных в конструкторе или предыдущем методе nextToken ().

Методы nextEiement () и hasMoreEiements () реализуют интерфейс Enumeration. Они просто обращаются к методам nextToken () и hasMoreTokens().

Схема очень проста (листинг 5.2).

 Листинг 5.2. Разбиение строки на слова:

String s = "Строка, которую мы хотим разобрать на слова";

StringTokenizer st = new StringTokenizer(s, " \t\n\r,.");

while(st.hasMoreTokens()){

// Получаем слово и что-нибудь делаем с ним, например,

// просто выводим на экран

System.out.println(st.nextToken());

}

Полученные слова обычно заносятся в какой-нибудь класс-коллекцию: Vector, Stack или другой, наиболее подходящий для дальнейшей обработки текста контейнер.


 

Задачи для программирования

 

 

Разработать программу подсчета слов в строке символов, определения числа символов в самом длинном слове, и сортировке слов по алфавиту.

Большие и маленькие буквы не учитываются.

 

 

Разработать программу подсчета слов в строке символов, определения числа символов в самом длинном слове, и сортировке слов по алфавиту.

Большие и маленькие буквы не учитываются.

 

 

Разработать программу подсчета слов в строке символов, определения числа символов в самом длинном слове, и сортировке слов по алфавиту.

Большие и маленькие буквы не учитываются.

 

 

Разработать программу подсчета слов в строке символов, определения числа символов в самом длинном слове, и сортировке слов по алфавиту.

Большие и маленькие буквы не учитываются.

 

 

Разработать программу подсчета слов в строке символов, определения числа символов в самом длинном слове, и сортировке слов по алфавиту.

Большие и маленькие буквы не учитываются.

 

 

Разработать программу подсчета слов в строке символов, определения числа символов в самом длинном слове, и сортировке слов по алфавиту.

Большие и маленькие буквы не учитываются.

 

 

Разработать программу подсчета слов в строке символов, определения числа символов в самом длинном слове, и сортировке слов по алфавиту.

Большие и маленькие буквы не учитываются.

 

 

Разработать программу подсчета слов в строке символов, определения числа символов в самом длинном слове, и сортировке слов по алфавиту.

Большие и маленькие буквы не учитываются.

 

 

Разработать программу подсчета слов в строке символов, определения числа символов в самом длинном слове, и сортировке слов по алфавиту.

Большие и маленькие буквы не учитываются.

Разработать программу подсчета слов в строке символов, определения числа символов в самом длинном слове, и сортировке слов по алфавиту.

Большие и маленькие буквы не учитываются.

 

 

Разработать программу подсчета слов в строке символов, определения числа символов в самом длинном слове, и сортировке слов по алфавиту.

Большие и маленькие буквы не учитываются.

 

 

Разработать программу подсчета слов в строке символов, определения числа символов в самом длинном слове, и сортировке слов по алфавиту.

Большие и маленькие буквы не учитываются.

 

 

Разработать программу подсчета слов в строке символов, определения числа символов в самом длинном слове, и сортировке слов по алфавиту.

Большие и маленькие буквы не учитываются.

 

 

Разработать программу подсчета слов в строке символов, определения числа символов в самом длинном слове, и сортировке слов по алфавиту.

Большие и маленькие буквы не учитываются.

 

 

Разработать программу подсчета слов в строке символов, определения числа символов в самом длинном слове, и сортировке слов по алфавиту.

Большие и маленькие буквы не учитываются.

 

 

Разработать программу подсчета слов в строке символов, определения числа символов в самом длинном слове, и сортировке слов по алфавиту.

Большие и маленькие буквы не учитываются.

 

 

Разработать программу подсчета слов в строке символов, определения числа символов в самом длинном слове, и сортировке слов по алфавиту.

Большие и маленькие буквы не учитываются.

 

 

Разработать программу подсчета слов в строке символов, определения числа символов в самом длинном слове, и сортировке слов по алфавиту.

Большие и маленькие буквы не учитываются.

 



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: