دوال التبديل الموجودة في الكلاس 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
الناتج من عملية التبديل.
مثال
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
الناتج من عملية التبديل.
مثال
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
الناتج من عملية التبديل.
مثال
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
__________&&&______;&&&___________;&&&&_____________;&&&