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

 

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

إسم الدالة مع تعريفها
public String replace(char oldSequence, char newSequence) عند استدعائها نمرر لها قيمتين عبارة عن char أو CharSequence.
تبحث في الـ String الذي قام باستدعائها عن القيمة الأولى التي نمررها لها و تبدلها بالقيمة الثانية التي نمررها لها.
شاهد المثال »
public String replaceAll(String regex, String replacement) تستخدم للبحث في الـ String الذي قام باستدعائها عن Substring ما لتبديله بنص جديد.
مكان الباراميتر regex نمرر نص يمثل النص الذي نريد استبداله.
و مكان الباراميتر replacement نمرر النص الذي سيحل مكانه.
إذاً هنا كلما تم إيجاد نفس قيمة الباراميتر regex سيتم إستبدالها بقيمة الباراميتر replacement.
شاهد المثال »
public String replaceFirst(String regex, String replacement) تستخدم لتبديل نص محدد بداخل الـ String الذي قام باستدعائها.
مكان الباراميتر regex نمرر نص يمثل النص الذي نريد استبداله.
و مكان الباراميتر replacement نمرر النص الذي سيحل مكانه.
إذاً هنا عند إيجاد نفس قيمة الباراميتر regex سيتم إستبدالها بقيمة الباراميتر replacement.
شاهد المثال »


الدالة replace()

تعريفها

عند استدعائها نمرر لها قيمتين عبارة عن char أو CharSequence.
تبحث في الـ String الذي قام باستدعائها عن القيمة الأولى التي نمررها لها و تبدلها بالقيمة الثانية التي نمررها لها.

ملاحظة: الدالة replace() لا تقوم بتعديل نص الـ String الذي يستدعيها, بل ترجع نسخة ثانية معدلة عنه.



بناؤها

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

                  // الشكل الأول
                  public String replace(char oldChar, char newChar)

                  // الشكل الثاني
                  public String replace(CharSequence oldSequence, CharSequence newSequence) 
                


باراميترات

  • الباراميتر oldChar نمرر مكانه الحرف الذي نريد تبديله.

  • الباراميتر newChar نمرر مكانه الحرف الذي سيحل مكانه.

  • الباراميتر oldSequence نمرر مكانه النص الذي نريد تبديله.

  • الباراميتر newSequence نمرر مكانه النص الذي سيحل مكانه.



قيمة الإرجاع

ترجع الـ String الناتج من عملية التبديل.



مثال

Main.java
                    public class Main {

                    public static void main(String[] args) {

                    String str = "welcome to harmash.com";

                    System.out.println( str.replace('a', 'X') );
                    System.out.println( str.replace(' ', '-') );
                    System.out.println( str.replace("com", "net") );

                    }

                    }
                  

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

                    welcome to hXrmXsh.com
                    welcome-to-harmash.com
                    welnete to harmash.net
                  

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

الدالة replaceAll()

تعريفها

تستخدم للبحث في الـ String الذي قام باستدعائها عن Substring ما لتبديله بنص جديد.
مكان الباراميتر regex نمرر نص يمثل النص الذي نريد استبداله.
و مكان الباراميتر replacement نمرر النص الذي سيحل مكانه.
إذاً هنا كلما تم إيجاد نفس قيمة الباراميتر regex سيتم إستبدالها بقيمة الباراميتر replacement.

ملاحظة: الدالة replaceAllaode لا تقوم بتعديل نص الـ String الذي يستدعيها, بل ترجع نسخة ثانية معدلة عنه. كما أنها تعتبر متطورة أكثر من الدالة replace() من ناحية القدرة على البحث, لأننا نستطيع تبديل المحتوى على أساس الـ regex.



بناؤها

                  public String replaceAll(String regex, String replacement)
                


باراميترات

  • مكان الباراميتر regex نمرر نص عبارة عن مجموعة رموز يحدد النص الذي نريد تبديله.

  • مكان الباراميتر replacement نمرر النص الذي سيحل مكانه.



قيمة الإرجاع

ترجع الـ String الناتج من عملية التبديل.



مثال

Main.java
                    public class Main {

                    public static void main(String[] args) {

                    String str = "1 mhamad 205 wissam 333 ziad 55 88 hamada";

                    // هنا ستبدل الفراغ بـ - و سنعرض الناتج الذي سترجعه مباشرةً
                    System.out.println( str.replaceAll(" ", "-") );

                    // strWithOutNumbers هنا ستبدل الأرقام بلا شيء, أي ستمسح جميع الأرقام و سترجع الناتج في
                    String strWithOutNumbers = str.replaceAll("[0-9]+", "");
                    System.out.println( strWithOutNumbers );

                    // strOnlyNumbers هنا ستبدل الأحرف بلا شيء, أي ستمسح جميع الأحرف و سترجع الناتج في
                    String strOnlyNumbers = str.replaceAll("[a-zA-Z]+", "");
                    System.out.println( strOnlyNumbers );

                    }

                    }
                  

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

                    1-mhamad-205-wissam-333-ziad-55-88-hamada
                    mhamad  wissam  ziad   hamada
                    1  205  333  55 88 
                  

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

الدالة replaceFirst()

تعريفها

تستخدم لتبديل نص محدد بداخل الـ String الذي قام باستدعائها.
مكان الباراميتر regex نمرر نص يمثل النص الذي نريد استبداله.
و مكان الباراميتر replacement نمرر النص الذي سيحل مكانه.
إذاً هنا عند إيجاد نفس قيمة الباراميتر regex سيتم إستبدالها بقيمة الباراميتر replacement.

ملاحظة: الدالة replaceFirst() لا تقوم بتعديل نص الـ String الذي يستدعيها, بل ترجع نسخة ثانية معدلة عنه.



بناؤها

                  public String replaceFirst(String regex, String replacement) 
                


باراميترات

  • مكان الباراميتر regex نمرر نص عبارة عن مجموعة رموز يحدد النص الذي نريد تبديله.

  • مكان الباراميتر replacement نمرر النص الذي سيحل مكانه.



قيمة الإرجاع

ترجع الـ String الناتج من عملية التبديل.



مثال

Main.java
                    public class Main {

                    public static void main(String[] args) {

                    String str = "Mhamad harmush 1 2 3";

                    // هنا ستبدل أول فراغ بـ - و ستعرض الناتج الذي سترجعه مباشرةً
                    System.out.println( str.replaceFirst(" ", "-") );

                    // strWithOutNumbers هنا ستبدل أول رقم بلا شيء, أي ستمسح أول رقم فقط و سترجع الناتج في
                    String strWithOutNumbers = str.replaceFirst("[0-9]+", "");
                    System.out.println( strWithOutNumbers );

                    // strOnlyNumbers هنا ستبدل أول كلمة بلا شيء, أي ستمسح أول نص فقط و سترجع الناتج في
                    String strOnlyNumbers = str.replaceFirst("[a-zA-Z]+", "");
                    System.out.println( strOnlyNumbers );

                    }

                    }
                  

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

                    Mhamad-harmush 1 2 3
                    Mhamad harmush  2 3
                    harmush 1 2 3
                  

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