The java.util.StringTokenizer клас дозволяє розбити рядок на токени. Це простий спосіб розірвати рядок. Це застарілий клас Java.
Він не надає можливості розрізняти числа, рядки в лапках, ідентифікатори тощо, як клас StreamTokenizer. Ми обговоримо клас StreamTokenizer у розділі введення/виведення.
У класі StringTokenizer роздільники можуть бути надані під час створення або один за одним до токенів.
Конструктори класу StringTokenizer
У класі StringTokenizer визначено 3 конструктори.
Конструктор | опис |
---|---|
StringTokenizer(String str) | Він створює StringTokenizer із зазначеним рядком. |
StringTokenizer(String str, String delim) | Він створює StringTokenizer із зазначеним рядком і роздільником. |
StringTokenizer(String str, String delim, boolean returnValue) | Він створює StringTokenizer із зазначеним рядком, роздільником і returnValue. Якщо повертається значення true, символи-роздільники вважаються маркерами. Якщо значення false, символи-роздільники служать для розділення токенів. |
Методи класу StringTokenizer
Шість корисних методів класу StringTokenizer такі:
алгоритми пошуку
методи | опис |
---|---|
логічне значення hasMoreTokens() | Він перевіряє, чи є більше доступних токенів. |
Рядок nextToken() | Він повертає наступний маркер з об’єкта StringTokenizer. |
Рядок nextToken (Рядок розділення) | Він повертає наступний маркер на основі розділювача. |
логічний hasMoreElements() | Це те саме, що метод hasMoreTokens(). |
Об'єкт nextElement() | Це те саме, що nextToken(), але його тип повертається Object. |
int countTokens() | Він повертає загальну кількість токенів. |
Приклад класу StringTokenizer
Давайте розглянемо приклад класу StringTokenizer, який токенізує рядок «мене звуть кхан» на основі пробілів.
Simple.java
говінда
import java.util.StringTokenizer; public class Simple{ public static void main(String args[]){ StringTokenizer st = new StringTokenizer('my name is khan',' '); while (st.hasMoreTokens()) { System.out.println(st.nextToken()); } } }
Вихід:
my name is khan
Наведений вище код Java демонструє використання класу StringTokenizer і його методів hasMoreTokens() і nextToken().
Приклад методу nextToken(String delim) класу StringTokenizer
Test.java
import java.util.*; public class Test { public static void main(String[] args) { StringTokenizer st = new StringTokenizer('my,name,is,khan'); // printing next token System.out.println('Next token is : ' + st.nextToken(',')); } }
Вихід:
Next token is : my
Примітка. Клас StringTokenizer зараз застарів. Рекомендується використовувати метод split() класу String або класу Pattern, який належить пакету java.util.regex.
Приклад методу hasMoreTokens() класу StringTokenizer
Цей метод повертає true, якщо в рядку маркерів доступно більше токенів, інакше повертає false.
StringTokenizer1.java
import java.util.StringTokenizer; public class StringTokenizer1 { /* Driver Code */ public static void main(String args[]) { /* StringTokenizer object */ StringTokenizer st = new StringTokenizer('Demonstrating methods from StringTokenizer class',' '); /* Checks if the String has any more tokens */ while (st.hasMoreTokens()) { System.out.println(st.nextToken()); } } }
Вихід:
Шрі Рамануджан
Demonstrating methods from StringTokenizer class
Наведена вище програма Java демонструє використання двох методів hasMoreTokens() і nextToken() класу StringTokenizer.
Приклад методу hasMoreElements() класу StringTokenizer
Цей метод повертає те саме значення, що й метод hasMoreTokens() класу StringTokenizer. Єдина відмінність полягає в тому, що цей клас може реалізувати інтерфейс Enumeration.
StringTokenizer2.java
import java.util.StringTokenizer; public class StringTokenizer2 { public static void main(String args[]) { StringTokenizer st = new StringTokenizer('Hello everyone I am a Java developer',' '); while (st.hasMoreElements()) { System.out.println(st.nextToken()); } } }
Вихід:
читати файл csv у java
Hello everyone I am a Java developer
Наведений вище код демонструє використання методу hasMoreElements().
Приклад методу nextElement() класу StringTokenizer
nextElement() повертає наступний об’єкт маркера в рядку маркерів. Він може реалізувати інтерфейс перерахування.
StringTokenizer3.java
import java.util.StringTokenizer; public class StringTokenizer3 { /* Driver Code */ public static void main(String args[]) { /* StringTokenizer object */ StringTokenizer st = new StringTokenizer('Hello Everyone Have a nice day',' '); /* Checks if the String has any more tokens */ while (st.hasMoreTokens()) { /* Prints the elements from the String */ System.out.println(st.nextElement()); } } }
Вихід:
Hello Everyone Have a nice day
Наведений вище код демонструє використання методу nextElement().
публічна проти приватної java
Приклад методу countTokens() класу StringTokenizer
Цей метод обчислює кількість токенів, присутніх у рядку токенізера.
StringTokenizer4.java
import java.util.StringTokenizer; public class StringTokenizer3 { /* Driver Code */ public static void main(String args[]) { /* StringTokenizer object */ StringTokenizer st = new StringTokenizer('Hello Everyone Have a nice day',' '); /* Prints the number of tokens present in the String */ System.out.println('Total number of Tokens: '+st.countTokens()); } }
Вихід:
Total number of Tokens: 6
Наведений вище код Java демонструє метод countTokens() класу StringTokenizer().