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

من موسوعة حسوب
مراجعة 14:56، 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
}

انظر أيضًا

مصادر