کلاس StringTokenizer در جاوا یک روش رشته توکنایزر را برای تقسیم یک رشته به توکن ها بر اساس یک جداکننده مشخص ارائه می دهد. رشته نشانه ساز می تواند هر رشته ای باشد که نشانه ها را از هم جدا می کند، مانند کاما، نقطه ویرگول یا فاصله سفید. با استفاده از متد tokenizer String از کلاس StringTokenizer ، میتوانیم یک رشته را به اجزای سازنده آن تقسیم کنیم. با فراخوانی متد nextToken() میتوانیم هر توکن را به نوبه خود بازیابی کنیم و با استفاده از متد hasMoreTokens() میتوانیم بررسی کنیم که آیا توکنهای دیگری باقی مانده است یا خیر. از متد length () کلاس StringTokenizer می توان برای بدست آوردن طول هر توکن استفاده کرد. StringTokenizer String یک ابزار مفید برای دستکاری رشته است و می تواند برای تجزیه فایل های CSV، URL ها یا سایر داده های مبتنی بر متن استفاده شود. کلاس StringTokenizer بخشی از بسته Java.util است و یک راه ساده برای تقسیم یک رشته به توکن ارائه می دهد. کلاس دارای دو سازنده است، یکی که یک رشته را برای توکن کردن و یک کاراکتر یا رشته جداکننده میگیرد و دیگری که همان آرگومانها را میگیرد و همچنین یک پرچم Boolean نشان میدهد که آیا جداکننده را بهعنوان نشانه درج میکند یا نه. هنگامی که یک شی StringTokenizer ایجاد کردید ، می توانید از روش های مختلف آن برای تکرار در توکن ها و انجام عملیات های مختلف بر روی آنها استفاده کنید.
روش توکن سازی
روش توکن سازی فرآیند تقسیم یک رشته به قطعات یا توکن های کوچکتر است. این فرآیند با استفاده از یک جداکننده انجام می شود که می تواند یک کاراکتر یا رشته ای از کاراکترها باشد که هر نشانه را از هم جدا می کند. به عنوان مثال، رشته زیر را در نظر بگیرید:String input = "Hello World! How are you today?";
اگر بخواهیم این رشته را به کلمات جداگانه تقسیم کنیم، می توانیم از کاراکتر space به عنوان جداکننده استفاده کنیم، مانند این:
StringTokenizer tokenizer = new StringTokenizer(input, " ");
while (tokenizer.hasMoreTokens()) {
String token = tokenizer.nextToken();
System.out.println(token);
}
خروجی
سلام دنیا! امروز چطوری؟
در این مثال، یک شی StringTokenizer جدید با رشته ورودی و یک کاراکتر فاصله به عنوان جداکننده ایجاد می کنیم . سپس با استفاده از متد hasMoreTokens() در میان توکن ها حلقه می زنیم و هر توکن را با استفاده از متد nextToken() بازیابی می کنیم . در نهایت هر توکن را در کنسول چاپ می کنیم.
طول توکن
کلاس StringTokenizer علاوه بر عملکرد پایه ای که توسط متد nextToken() ارائه می شود، روش هایی را برای بازیابی طول هر توکن و برای بازیابی یک توکن خاص بر اساس شاخص ارائه می دهد. برای بدست آوردن طول توکن فعلی، می توانید از متد ()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 در جاوا را نشان می دهد: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 USA
در این مثال، رشتهای داریم که فهرستی از مقادیر جدا شده با کاما را نشان میدهد. یک شی StringTokenizer جدید با این رشته و یک کاما به عنوان جداکننده ایجاد می کنیم . سپس با استفاده از متد hasMoreTokens() در میان توکن ها حلقه می زنیم و هر توکن را با استفاده از متد nextToken() بازیابی می کنیم . در نهایت هر توکن را در کنسول چاپ می کنیم. توجه داشته باشید که ما از متد length() در این مثال استفاده نکردیم ، زیرا ما فقط به خود توکن های فردی علاقه مند هستیم.
GO TO FULL VERSION