מחלקה 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() בדוגמה זו, מכיוון שאנו מעוניינים רק באסימונים הבודדים עצמם.
GO TO FULL VERSION