Javaالدالة replaceAll()
في جافا
تعريفها
تستخدم للبحث في الـ String
الذي قام باستدعائها عن Substring ما لتبديله بنص جديد.
مكان الباراميتر regex
نمرر نص يمثل النص الذي نريد استبداله.
و مكان الباراميتر replacement
نمرر النص الذي سيحل مكانه.
إذاً هنا كلما تم إيجاد نفس قيمة الباراميتر regex
سيتم إستبدالها بقيمة الباراميتر replacement
.
ملاحظة: الدالة replaceAll()
لا تقوم بتعديل نص الـ String
الذي يستدعيها, بل ترجع نسخة ثانية معدلة عنه. كما أنها تعتبر متطورة أكثر من الدالة replace()
من ناحية القدرة على البحث, لأننا نستطيع تبديل المحتوى على أساس الـ regex
.
بناؤها
public String replaceAll(String regex, String replacement)
باراميترات
- مكان الباراميتر
regex
نمرر نص عبارة عن مجموعة رموز يحدد النص الذي نريد تبديله. - مكان الباراميتر
replacement
نمرر النص الذي سيحل مكانه.
قيمة الإرجاع
ترجع الـ String
الناتج من عملية التبديل.
مثال
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