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

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

تعريفها

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

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



بناؤها

public String replaceAll(String regex, String replacement)
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 );
}
}
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
1-mhamad-205-wissam-333-ziad-55-88-hamada mhamad wissam ziad hamada 1 205 333 55 88