CodeGym /وبلاگ جاوا /Random-FA /StringTokenizer در جاوا
John Squirrels
مرحله
San Francisco

StringTokenizer در جاوا

در گروه منتشر شد
کلاس 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() در این مثال استفاده نکردیم ، زیرا ما فقط به خود توکن های فردی علاقه مند هستیم.

کلاس StreamTokenizer

در حالی که کلاس StringTokenizer یک راه ساده برای تقسیم یک رشته به توکن ها ارائه می دهد، اما محدودیت هایی دارد. به عنوان مثال، نمی تواند چندین جداکننده یا انواع مختلف نشانه ها، مانند اعداد و کلمات را مدیریت کند. اگر به قابلیت های توکن سازی پیشرفته تری نیاز دارید، می توانید از کلاس StreamTokenizer استفاده کنید . این کلاس انعطاف پذیری بیشتری را فراهم می کند و می تواند انواع ورودی را مدیریت کند. برای تقویت آموخته هایتان، پیشنهاد می کنیم یک درس ویدیویی از دوره جاوا ما تماشا کنید

نتیجه

در این مقاله، کلاس StringTokenizer را در جاوا بررسی کرده‌ایم و دیدیم که چگونه می‌توان از آن برای تقسیم یک رشته به توکن استفاده کرد. همچنین دیده ایم که چگونه می توان از برخی از متدهای کلاس برای انجام عملیات های مختلف روی توکن ها استفاده کرد، مانند بدست آوردن طول آنها و بازیابی توکن های خاص بر اساس شاخص. در حالی که کلاس StringTokenizer یک ابزار ساده و مفید است، اما محدودیت های خود را دارد. اگر به قابلیت‌های توکن‌سازی پیشرفته‌تری نیاز دارید، از کلاس StreamTokenizer یا یک کتابخانه قدرتمندتر مانند Apache Commons Lang استفاده کنید. به یاد داشته باشید که همیشه نیازهای خاص پروژه خود را در تصمیم گیری برای استفاده از ابزارها و تکنیک ها در نظر بگیرید. با درک کامل کلاس ها و روش های دستکاری رشته جاوا، می توانید حتی پیچیده ترین کارهای دستکاری رشته را به راحتی انجام دهید.
نظرات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION