دوال التجزيء الموجودة في الكلاس String في جافا

 

دوال التجزيء الموجودة في الكلاس String

إسم الدالة مع تعريفها
public String substring(int startIndex, int endIndex) ترجع String عبارة عن جزء (substring) من الـ String الذي قام باستدعائها.
شاهد المثال »
public CharSequence subSequence(int startIndex, int endIndex) ترجع كائن من الكلاس CharSequence عبارة عن جزء (substring) من الـ String الذي قام باستدعائها.
شاهد المثال »
public String[] split(String regex) ترجع نسخة من الـ String الذي قام باستدعائها مقسمة على شكل مصفوفة نوعها String.
مكان الباراميتر regex نمرر نص يحدد الطريقة التي سيتم على أساسها تقسيم الـ String و وضع كل قسم فيها في عنصر بداخل المصفوفة.
شاهد المثال »


الدالة substring()

تعريفها

ترجع String عبارة عن جزء (substring) من الـ String الذي قام باستدعائها.

عند إستدعاء هذه الدالة عندنا خيارين:

  • تحديد من أين تبدأ.

  • تحديد من أين تبدأ و أين تنتهي.

إذا قمنا فقط بتحديد أين تبدأ الـ substring, سترجع الدالة String تبدأ من الـ index الذي مررناه مكان الباراميتر startIndex لآخر index موجود في الـ String الذي قام باستدعائها.

إذا قمنا بتحديد أين تبدأ و أين تنتهي الـ substring, سترجع الدالة String تبدأ من الـ index الذي مررناه مكان الباراميتر startIndex إلى الـ index الذي مررناه مكان الباراميتر endIndex.

في حال كان رقم الـ index الذي مررناه لها مكان الباراميتر الأول أو الثاني غير موجود, سيظهر لك خطأ.



بناؤها

هناك شكلين من هذه الدالة. أي يمكن إستدعاءها بطريقتين مختلفتين.

                  // الشكل الأول
                  public String substring(int startIndex)

                  // الشكل الثاني
                  public String substring(int startIndex, int endIndex)
                


باراميترات

  • الباراميتر startIndex يحدد الـ index الذي ستبدأ الـ substring منه.

  • الباراميتر endIndex يحدد الـ index الذي تنتهي الـ substring عنده.



قيمة الإرجاع

ترجع String عبارة عن substring من الـ String الذي قام باستدعائها.



مثال

Main.java
                    public class Main {

                    public static void main(String[] args) {

                    String s = "welcome to harmash.com, best site for learning";

                    System.out.println( s.substring(11) );       // رقم 11 index تبدأ من الـ substring هنا سترجع الدالة
                    System.out.println( s.substring(11, 22) );   // رقم 22 index رقم 11 و تنتهي قبل الـ index تبدأ من الـ substring هنا سترجع الدالة

                    }

                    }
                  

سنحصل على النتيجة التالية عند التشغيل.

                    harmash.com, best site for learning
                    harmash.com
                  

__________&&&______;&&&___________;&&&&_____________;&&&

الدالة subSequence()

تعريفها

ترجع كائن من الكلاس CharSequence عبارة عن جزء substring أو subsequence نفس المعنى ) من الـ String الذي قام باستدعائها.



بناؤها

                  public CharSequence subSequence(int startIndex, int endIndex)
                


باراميترات

  • الباراميتر startIndex يحدد الـ index الذي ستبدأ الـ subsequence منه.

  • الباراميتر endIndex يحدد الـ index الذي تنتهي الـ subsequence عنده.



قيمة الإرجاع

ترجع كائن من الكلاس CharSequence عبارة عن subSequence من الـ String الذي قام باستدعائها.



مثال

Main.java
                    public class Main {

                    public static void main(String[] args) {

                    String s = "welcome to harmash.com, best site for learning";

                    // رقم 22 index رقم 11 و تنتهي قبل الـ index تبدأ من الـ subSequence هنا سترجع الدالة
                    System.out.println( s.subSequence(11, 22) );

                    }

                    }
                  

سنحصل على النتيجة التالية عند التشغيل.

                    harmash.com
                  

__________&&&______;&&&___________;&&&&_____________;&&&

الدالة split()

تعريفها

ترجع نسخة من الـ String الذي قام باستدعائها مقسمة على شكل مصفوفة نوعها String.
مكان الباراميتر regex نمرر نص يحدد الطريقة التي سيتم على أساسها تقسيم الـ String و وضع كل قسم فيها في عنصر بداخل المصفوفة.



بناؤها

هناك شكلين من هذه الدالة. أي يمكن إستدعاءها بطريقتين مختلفتين.

                  // الشكل الأول
                  public String[] split(String regex)

                  // الشكل الثاني
                  public String[] split(String regex, int limit) 
                


باراميترات

  • مكان الباراميتر regex نمرر النص الذي ستستخدمه الدالة لتقسيم الـ String الذي قام باستدعائها.

  • مكان الباراميتر limit نمرر رقم عادي نضعه في حال أردنا تحديد عدد عناصر المصفوفة التي سترجعها الدالة.



قيمة الإرجاع

ترجع مصفوفة نوعها String تحتوي على نص كائن الـ String الذي قام باستدعائها.



المثال الأول

Main.java
                    public class Main {

                    public static void main(String[] args) {

                    String str = "welcome-to-harmash.com";

                    // parts بعدها سيتم وضع المصفوفة التي سترجعها في المصفوفة .str ستعتمد على الرمز - حتى تجزء نص الكائن split() هنا الدالة
                    String[] parts = str.split("-");

                    String part1 = parts[0];   // welcome     :الجزء الأول سيحتوي على النص
                    String part2 = parts[1];   // to          :الجزء الثاني سيحتوي على النص
                    String part3 = parts[2];   // harmash.com :الجزء الثالث سيحتوي على النص

                    System.out.println( part1 );
                    System.out.println( part2 );
                    System.out.println( part3 );

                    }

                    }
                  

سنحصل على النتيجة التالية عند التشغيل.

                    welcome
                    to
                    harmash.com 
                  


في البرامج الفعلية لا نستخدم هذا الأسلوب البدائي, بل نستخدم الحلقات للتعامل مع المصفوفات.

المثال الثاني

Main.java
                    public class Main {

                    public static void main(String[] args) {

                    String str = "welcome-to-harmash.com";
                    String[] parts = str.split("-");

                    int i = 0;
                    while( i < parts.length ) {
                    System.out.println( parts[i] );
                    i++;
                    }

                    }

                    }
                  

سنحصل على النتيجة التالية عند التشغيل.

                    welcome
                    to
                    harmash.com 
                  


يوجد حلقة متقدمة إسمها foreach loop صممت خصيصاً للتعامل مع الـ arrays, سنشرحها بتفصيل في درس الـ arrays لكننا سنعطيك مثال كفكرة عامة.

المثال الثالث

Main.java
                    public class Main {

                    public static void main(String[] args) {

                    String str = "welcome-to-harmash.com";
                    String[] parts = str.split("-");

                    for( String part : parts ) {
                    System.out.println( part );
                    }

                    }

                    }
                  

سنحصل على النتيجة التالية عند التشغيل.

                    welcome
                    to
                    harmash.com
                  


الآن سنتطرق للباراميتر limit, فكرته فقط تحديد إلى كم جزء سيتقسم الـ String.
بمعنى آخر يحدد عدد عناصر المصفوفة التي سترجعها الدالة.

المثال الرابع

Main.java
                    public class Main {

                    public static void main(String[] args) {

                    String str = "welcome-to-harmash.com";
                    String[] parts = str.split("-", 2);

                    for( String part : parts ) {
                    System.out.println( part );
                    }

                    }

                    }
                  

سنحصل على النتيجة التالية عند التشغيل.

                    welcome
                    to-harmash.com
                  

__________&&&______;&&&___________;&&&&_____________;&&&