Clasa de programare stringtokenizer, tutoriale și exemple

Capitolul 5. Lucrul cu siruri de caractere

clasa StringTokenizer

clasa StringTokenizer de pachet mic java.utii, există trei constructori și șase metode.

Originea StringTokenizer (String str) constructor creează un obiect, gata să rupă șirul de cuvinte str separate prin spații, tab-uri, '\ t', linefeed '\ n' și retur de car '\ r'. Separatoare nu sunt incluse în numărul de cuvinte.

Al doilea constructor StringTokenizer (String str. Delimeters String) stabilește al doilea parametru separatoare deiimeters. de exemplu:

Aici, primul separator - spațiu. Apoi, du-te la o filă, NEWLINE, retur de car, virgulă, două puncte, cratima. Ordinea liniei separatoarelor deiimeters nu contează. Separatoare nu sunt incluse în numărul de cuvinte.

Al treilea constructor vă permite să includeți separatori în numărul de cuvinte:

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

Dacă indicatorul este adevărat. distanțierele sunt incluse în numărul de cuvinte, în cazul în fals - nr. De exemplu:

StringTokenizer ( "a - (b + c) / b * c", „\ t \ n \ r + * - / (), true);

În analizarea șir în cuvinte implicate activ două metode:

nextToken () metoda returnează următorul cuvânt ca un șir de caractere;

hasMoreTokens logice () returneaza true. Dacă linia are încă cuvinte, și fals. în cazul în care nu există mai multe cuvinte.

countTokens a treia () Metoda returnează numărul de cuvinte rămase.

A patra metodă nextToken (newDeiimeters string) permite "on the fly" pentru a schimba delimitatori. Cuvântul următor va fi alocate pentru noile newDeiimeters separatoare; noi separatoare funcționează mai multe distanțiere în locul tradiționalului definite în proiectantul sau metoda anterioară nextToken ().

Celelalte două metode nextEiement () și hasMoreEiements () pune în aplicare interfața Enumerarea. Ei pur și simplu se referă la metode și hasMoreTokens nextToken () ().

Schema este foarte simplu (a se vedea Listing 5.2).

Listarea 5.2. Divizarea un șir de caractere în cuvinte.

= String s „linia pe care vrem să facem din cuvintele“;

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

// Ia cuvântul și nimic de a face cu ea, de exemplu,

// afișa pur și simplu un

Cuvintele rezultate sunt introduse în mod obișnuit într-o anumită clasă de colectare: Vector, stivă sau alta, cele mai potrivite pentru prelucrarea ulterioară a containerului de text. clase de colectare vor fi discutate în capitolul următor.