Javaالدالة appendReplacement() و الدالة appendTail() في جافا
تعريفهم
appendReplacement(): هذه الدالة تبدأ عملية تبديل محتوى محدد في النص كلما وجدته بمحتوى جديد.
فهي تبدل المحتوى الذي تم إيجاده في النص بمحتوى جديد و ترجع النص كله مع التبديل ككائن نوعه StringBuffer.
كما أنها تعتمد على الدوال find() و start() و end() عندما تبحث عن المحتوى الذي سيتم تبديله.
و هي تستفيد من الدوال start() و end() لمعرفة أين يبدأ و أين ينتهي المحتوى الذي سيتم تبديله في النص.
الدالة find() نستخدمها للبحث عن كل تطابق موجود النص.
ملاحظة: الدالة appendReplacement() لا تضيف بقية النص الموجودة بعد آخر مرة تم فيها إيجاد تطابق.
appendTail(): هذه الدالة تكمل عملية تبديل محتوى النص بمحتوى جديد.
هي تقوم فقط بإضافة النص العادي الموجود بعد آخر مرة تم فيها تبديل القيمة.
هذه الدالة تُستدعى بعد إستدعاء الدالة appendReplacement() بالترتيب حتى تضيف باقي المحتوى على الـ StringBuffer.
بناؤهم
أخطاء محتملة
- IllegalStateException: في حال لم تجد الدالة appendReplacement() أي تطابق في النص, أو في حال حدث خطأ في التطابق السابق.
- IllegalArgumentException: في حال لم تجد الدالة appendReplacement() الـ Pattern التي تشير لمجموعة.
- IndexOutOfBoundsException: في حال لم تجد الدالة appendReplacement() الـ Pattern التي تشير لمجموعة.
مثال
سنحصل على النتيجة التالية عند التشغيل.
شرح الكود
هنا كان الهدف تبديل الكلمة dog بالكلمة cat.
لو لم تستدعي الدالة appendTail() على الكائن m لكان ظهر محتوى النص الجديد ناقصاً.
أي لو قمت بمسح الكود m.appendTail(sb); الموجود في السطر 22, ستحصل على النتيجة التالية عند التشغيل.