CodeGym /مدونة جافا /Random-AR /StringTokenizer في جافا
John Squirrels
مستوى
San Francisco

StringTokenizer في جافا

نشرت في المجموعة
توفر فئة StringTokenizer في Java طريقة سلسلة tokenizer لتقسيم سلسلة إلى رموز مميزة بناءً على محدد محدد. يمكن أن تكون سلسلة الرمز المميز أي سلسلة تفصل بين الرموز المميزة، مثل فاصلة أو فاصلة منقوطة أو مسافة بيضاء. باستخدام طريقة سلسلة tokenizer لفئة 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());
        }
    }
}

انتاج |

جون دو 123 الشارع الرئيسي 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