Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

Javaالدالة replaceAll() في جافا

تعريفها

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

ملاحظة: الدالة replaceAll() لا تقوم بتعديل نص الـ 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