الدالة Regex.replace()‎ في Kotlin

من موسوعة حسوب
مراجعة 12:59، 30 أغسطس 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (مراجعة وتدقيق.)

تبدل الدالة replace()‎ سلسلة النصية معينة مكان كل تطابقات التعبير النمطي الذي استدعي معها في سلسلة المحارف المُمرّرة إليها أو سلسلة المحارف التي تعيدها الدالة الممررة إليها.

البنية العامة

actual fun replace(
    input: CharSequence, 
    replacement: String
): String

actual fun replace(
    input: CharSequence, 
    transform: (MatchResult) -> CharSequence
): String (source)

المعاملات

input

سلسلة المحارف التي يراد مطابقتها مع تعبير نمطي واستبدال محتوى المعامل replacement أو ناتج الدالة transform بها.

replacement

السلسلة النصية التي يراد أن تحل مكان كل تطابقات التعبير النمطي المعطى في المعامل input.

transform

دالة تعيد مجموعةٌ من المحارف التي يراد أن تحل مكان كل تطابقات التعبير النمطي المعطى في المعامل input.

القيمة المعادة

تعاد سلسلة نصية تحوي جميع محتوى المعامل input بعد تبديل السلسلة النصية replacement مكان تطابقات التعبير النمطي المعطى فيها.

أمثلة

تنشئ الدالة Regex() في الشيفرة التالية تعبيرًا نمطيًا باسم reg لمطابقة التعابير العددية، ثم تُستدعََى معه الدالة replace()‎ لاستبدال كل القيم العددية أينما وجدت:

fun main(args: Array<String>) {
    // يطابق التعبير النمطي التالي جميع الأعداد
    val reg = Regex("""-?\d+(\.\d+)?""")

    println(reg.replace("ab12cd34ef", "X")) // => abXcdXef
}

انظر أيضًا

  • الخاصية pattern: تعيد السلسلة النصية النمطية (pattern string) التي استُخدمت في إنشاء التعبير النمطي الذي استُدعيت عبره.
  •  findAll()‎: تعيد كل المطابقات للتعبير النمطي الذي استُدعيت عبره في الوسيط المُمرّر input،بداية من الفهرس المحدد بالوسيط startIndex.
  • الخاصية options: تعبر عن مجموعة الخيارات التي استُخدمت في إنشاء التعبير النمطي الذي استُدعيت عبره.

مصادر