CodeGym /Java Blog /Random /StringTokenizer sa Java
John Squirrels
Antas
San Francisco

StringTokenizer sa Java

Nai-publish sa grupo
Ang StringTokenizer class sa Java ay nagbibigay ng tokenizer String method para sa paghahati ng string sa mga token batay sa isang tinukoy na delimiter. Ang tokenizer String ay maaaring anumang string na naghihiwalay sa mga token, gaya ng kuwit, semicolon, o whitespace. Gamit ang tokenizer String method ng StringTokenizer class, maaari nating hatiin ang isang string sa mga bahagi nito. Sa pamamagitan ng pagtawag sa nextToken() method , maaari nating kunin ang bawat token nang magkakasunod, at sa pamamagitan ng paggamit ng hasMoreTokens() method , masusuri natin kung mayroon pang natitirang token. Ang length() na paraan ng StringTokenizer class ay maaaring gamitin upang makuha ang haba ng bawat token. Ang StringTokenizer String ay isang kapaki-pakinabang na tool para sa pagmamanipula ng string at maaaring magamit upang i-parse ang mga CSV file, URL, o iba pang data na nakabatay sa text. Ang StringTokenizer class ay bahagi ng Java.util package at nagbibigay ng simpleng paraan upang hatiin ang isang string sa mga token. Ang klase ay may dalawang constructor, isa na kumukuha ng isang string upang ma-tokenize at isang delimiter na character o string, at isa pa na kumukuha ng parehong mga argumento pati na rin isang Boolean flag na nagpapahiwatig kung isasama o hindi ang delimiter bilang isang token. Kapag nakagawa ka na ng StringTokenizer object, maaari mong gamitin ang iba't ibang pamamaraan nito upang umulit sa mga token at magsagawa ng iba't ibang operasyon sa mga ito.

Paraan ng Tokenization

Ang paraan ng tokenization ay ang proseso ng paghahati ng string sa mas maliliit na bahagi o mga token. Ginagawa ang prosesong ito gamit ang isang delimiter, na maaaring isang character o isang string ng mga character na naghihiwalay sa bawat token. Halimbawa, isaalang-alang ang sumusunod na string:
String input = "Hello World! How are you today?";
Kung gusto naming hatiin ang string na ito sa mga indibidwal na salita, maaari naming gamitin ang space character bilang delimiter, tulad nito:
StringTokenizer tokenizer = new StringTokenizer(input, " ");
while (tokenizer.hasMoreTokens()) {
    String token = tokenizer.nextToken();
    System.out.println(token);
}

Output

Hello Mundo! Kamusta ka ngayong araw?
Sa halimbawang ito, gumawa kami ng bagong StringTokenizer object na may input string at space character bilang delimiter. Pagkatapos ay i-loop namin ang mga token gamit ang hasMoreTokens() method at kunin ang bawat token gamit ang nextToken() method. Sa wakas, ini-print namin ang bawat token sa console.

Haba ng Token

Bilang karagdagan sa pangunahing pag-andar na ibinigay ng nextToken() na pamamaraan, ang StringTokenizer na klase ay nagbibigay din ng mga pamamaraan para sa pagkuha ng haba ng bawat token at para sa pagkuha ng isang partikular na token ayon sa index. Upang makuha ang haba ng kasalukuyang token, maaari mong gamitin ang token.length() na paraan. Halimbawa:
public class StringTokenizerExample {
    public static void main(String[] args) {
        String input = "Hello World! How are you today?";
        StringTokenizer tokenizer = new StringTokenizer(input, " ");
        while (tokenizer.hasMoreTokens()) {
            String token = tokenizer.nextToken();
            System.out.println("Token: " + token + " Length: " + token.length());
        }
    }
}

Output

Token: Hello Haba: 5 Token: Mundo! Haba: 6 Token: How Length: 3 Token: are Length: 3 Token: you Length: 3 Token: ngayon? Haba: 6
Sa halimbawang ito, kinukuha namin ang bawat token tulad ng dati ngunit ginagamit din namin ang length() na paraan upang makuha ang haba ng bawat token, na pagkatapos ay ipi-print namin sa console.

Halimbawa

Tingnan natin ang isang kumpletong halimbawa na nagpapakita kung paano gamitin ang StringTokenizer class sa Java:
public class Example {
    public static void main(String[] args) {
        String input = "John,Doe,123 Main St.,Anytown,USA";
        StringTokenizer tokenizer = new StringTokenizer(input, ",");
        while (tokenizer.hasMoreTokens()) {
            System.out.println(tokenizer.nextToken());
        }
    }
}

Output

John Doe 123 Main St. Anytown USA
Sa halimbawang ito, mayroon kaming string na kumakatawan sa isang listahan ng mga halaga na pinaghihiwalay ng kuwit. Lumilikha kami ng bagong StringTokenizer object gamit ang string na ito at isang kuwit bilang delimiter. Pagkatapos ay i-loop namin ang mga token gamit ang hasMoreTokens() method at kunin ang bawat token gamit ang nextToken() method. Sa wakas, ini-print namin ang bawat token sa console. Tandaan na hindi namin ginamit ang length() na paraan sa halimbawang ito, dahil interesado lang kami sa mga indibidwal na token mismo.

Klase ng StreamTokenizer

Habang ang StringTokenizer class ay nagbibigay ng isang simpleng paraan upang hatiin ang isang string sa mga token, mayroon itong ilang mga limitasyon. Halimbawa, hindi nito mahawakan ang maraming delimiter o iba't ibang uri ng mga token, gaya ng mga numero at salita. Kung kailangan mo ng mas advanced na mga kakayahan sa tokenization, maaari mong gamitin ang klase ng StreamTokenizer . Nagbibigay ang klase na ito ng higit na kakayahang umangkop at kayang pangasiwaan ang iba't ibang uri ng input. Upang palakasin ang iyong natutunan, iminumungkahi naming manood ka ng isang video lesson mula sa aming Java Course

Konklusyon

Sa artikulong ito, na-explore namin ang StringTokenizer class sa Java at nakita kung paano ito magagamit upang hatiin ang isang string sa mga token. Nakita rin namin kung paano gamitin ang ilan sa mga pamamaraan ng klase upang magsagawa ng iba't ibang operasyon sa mga token, tulad ng pagkuha ng haba ng mga ito at pagkuha ng mga partikular na token sa pamamagitan ng index. Habang ang klase ng StringTokenizer ay isang simple at kapaki-pakinabang na tool, mayroon itong mga limitasyon. Kung kailangan mo ng mas advanced na mga kakayahan sa tokenization, isaalang-alang ang paggamit ng klase ng StreamTokenizer o isang mas mahusay na library gaya ng Apache Commons Lang. Tandaan na palaging isaalang-alang ang mga partikular na pangangailangan ng iyong proyekto kapag nagpapasya kung aling mga tool at diskarte ang gagamitin. Sa isang matibay na pag-unawa sa mga klase at pamamaraan ng pagmamanipula ng string ng Java, maaari mong harapin ang kahit na ang pinaka-kumplikadong mga gawain sa pagmamanipula ng string nang madali.
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION