CodeGym /בלוג Java /Random-HE /StringTokenizer ב-Java
John Squirrels
רָמָה
San Francisco

StringTokenizer ב-Java

פורסם בקבוצה
מחלקה StringTokenizer ב-Java מספקת שיטת מחרוזת tokenizer לפיצול מחרוזת לאסימונים בהתבסס על מפריד מוגדר. מחרוזת האסימונים יכולה להיות כל מחרוזת שמפרידה בין האסימונים, כגון פסיק, נקודה-פסיק או רווח לבן. באמצעות שיטת ה-Tokenizer String של המחלקה StringTokenizer , אנו יכולים לפצל מחרוזת לחלקים המרכיבים אותה. על ידי קריאה למתודה nextToken () , נוכל לאחזר כל אסימון בתורו, ועל ידי שימוש בשיטת hasMoreTokens() , נוכל לבדוק אם נותרו עוד אסימונים. ניתן להשתמש בשיטת length() של המחלקה StringTokenizer כדי לקבל את האורך של כל אסימון . StringTokenizer String הוא כלי שימושי למניפולציה של מחרוזות וניתן להשתמש בו כדי לנתח קבצי CSV, כתובות URL או נתונים מבוססי טקסט אחרים. המחלקה StringTokenizer היא חלק מחבילת Java.util ומספקת דרך פשוטה לפצל מחרוזת לאסימונים. למחלקה יש שני בנאים, אחד שלוקח מחרוזת כדי להיות אסימון ותו או מחרוזת מפריד, ואחר שלוקח את אותם ארגומנטים וכן דגל בוליאני המציין אם לכלול את המפריד כאסימון או לא. לאחר שיצרתם אובייקט StringTokenizer , תוכלו להשתמש בשיטות השונות שלו כדי לחזור על האסימונים ולבצע עליהם פעולות שונות.

שיטת טוקניזציה

שיטת הטוקניזציה היא תהליך של פיצול מחרוזת לחלקים קטנים יותר או אסימונים. תהליך זה מתבצע באמצעות מפריד, שיכול להיות תו או מחרוזת תווים שמפרידה בין כל אסימון. לדוגמה, שקול את המחרוזת הבאה:
String input = "Hello World! How are you today?";
אם ברצוננו לפצל מחרוזת זו למילים בודדות, נוכל להשתמש בתו הרווח כמפריד, כך:
StringTokenizer tokenizer = new StringTokenizer(input, " ");
while (tokenizer.hasMoreTokens()) {
    String token = tokenizer.nextToken();
    System.out.println(token);
}

תְפוּקָה

שלום עולם! מה שלומך היום?
בדוגמה זו, אנו יוצרים אובייקט StringTokenizer חדש עם מחרוזת הקלט ותו רווח כמפריד. לאחר מכן אנו עוברים בלולאה דרך האסימונים באמצעות שיטת hasMoreTokens() ומחזירים כל אסימון באמצעות שיטת nextToken() . לבסוף, אנו מדפיסים כל אסימון לקונסולה.

אורך אסימון

בנוסף לפונקציונליות הבסיסית המסופקת על ידי שיטת nextToken() , המחלקה StringTokenizer מספקת גם שיטות לאחזור אורך כל אסימון ולאחזור אסימון ספציפי לפי אינדקס. כדי לקבל את אורך האסימון הנוכחי, אתה יכול להשתמש בשיטת token.length() . לדוגמה:
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());
        }
    }
}

תְפוּקָה

אסימון: שלום אורך: 5 אסימון: עולם! אורך: 6 אסימון: איך אורך: 3 אסימון: הם אורך: 3 אסימון: אתה אורך: 3 אסימון: היום? אורך: 6
בדוגמה זו, אנו מאחזרים כל אסימון כמו קודם אך גם משתמשים בשיטת length() כדי לקבל את האורך של כל אסימון, שאותו אנו מדפיסים למסוף.

דוגמא

בואו נסתכל על דוגמה מלאה שמדגימה כיצד להשתמש במחלקה StringTokenizer ב-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());
        }
    }
}

תְפוּקָה

John Doe 123 Main St. Anytown ארה"ב
בדוגמה זו, יש לנו מחרוזת שמייצגת רשימת ערכים מופרדת בפסיקים. אנו יוצרים אובייקט StringTokenizer חדש עם מחרוזת זו ופסיק כמפריד. לאחר מכן אנו עוברים בלולאה דרך האסימונים באמצעות שיטת hasMoreTokens() ומחזירים כל אסימון באמצעות שיטת nextToken() . לבסוף, אנו מדפיסים כל אסימון לקונסולה. שימו לב שלא השתמשנו בשיטת length() בדוגמה זו, מכיוון שאנו מעוניינים רק באסימונים הבודדים עצמם.

כיתת StreamTokenizer

בעוד שהכיתה StringTokenizer מספקת דרך פשוטה לפצל מחרוזת לאסימונים, יש לה כמה מגבלות. לדוגמה, הוא אינו יכול להתמודד עם מספר תוחמים או סוגים שונים של אסימונים, כגון מספרים ומילים. אם אתה זקוק ליכולות טוקניזציה מתקדמות יותר, אתה יכול להשתמש במחלקת StreamTokenizer . מחלקה זו מספקת יותר גמישות ויכולה להתמודד עם סוגי קלט שונים. כדי לחזק את מה שלמדת, אנו מציעים לך לצפות בשיעור וידאו מקורס Java שלנו

סיכום

במאמר זה, חקרנו את המחלקה StringTokenizer ב-Java וראינו כיצד ניתן להשתמש בה כדי לפצל מחרוזת לאסימונים. ראינו גם כיצד להשתמש בכמה מהשיטות של המחלקה כדי לבצע פעולות שונות על האסימונים, כמו קבלת אורכם ושליפה של אסימונים ספציפיים לפי אינדקס. בעוד שמחלקת StringTokenizer היא כלי פשוט ושימושי, יש לה מגבלות. אם אתה זקוק ליכולות טוקניזציה מתקדמות יותר, שקול להשתמש במחלקת StreamTokenizer או בספרייה חזקה יותר כגון Apache Commons Lang. זכור תמיד לשקול את הצרכים הספציפיים של הפרויקט שלך כאשר אתה מחליט באילו כלים וטכניקות להשתמש. עם הבנה מוצקה של מחלקות ושיטות מניפולציה של מחרוזות של Java, אתה יכול להתמודד אפילו עם משימות המניפולציה המורכבות ביותר של מחרוזות בקלות.
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION