الدالة replaceFirst()‎ في Kotlin

من موسوعة حسوب

تبدل الدالة replaceFirst()‎ محرفًا جديدًا مكان أول ظهور لمحرف قديم، أو سلسلة نصية جديدة مكان أول ظهور لسلسلة نصية قديمة، أو سلسلة نصية جديدة أو ناتج تنفيذ دالة مكان أول ما يطابق تعبير نمطي معين في سلسلة نصية أو سلسلة من المحارف.

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

actual fun String.replaceFirst(
    oldChar: Char, 
    newChar: Char, 
    ignoreCase: Boolean = false
): String

actual fun String.replaceFirst(
    oldValue: String, 
    newValue: String, 
    ignoreCase: Boolean = false
): String

inline fun CharSequence.replaceFirst(
    regex: Regex, 
    replacement: String
): String

وجود الكلمة المفتاحية inline يدل على أن هذه الدالة مباشرة (لمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)).

المعاملات

oldChar

المحرف القديم المراد استبدال أول ظهور للمحرف newChar به.

newChar

المحرف الجديد الذي سيحل مكان أول ظهور للمحرف oldChar.

oldValue

السلسلة النصية القديمة المراد استبدال القيمة newValue بأول ظهور لها.

newValue

السلسلة النصية الجديد التي ستحل مكان أول ظهور للسلسلة oldValue.

regex

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

replacement

السلسلة النصية التي ستحل مكان أول قيمة طابقها التعبير النمطي regex. يمكن أن تحوي هذه السلسلة النصية على استبدالات (substitutions). لمزيد من التفاصيل، راجع توثيق الدالة Regex.replaceFirst.

transform

دالةٌ يمرر إليها أول قيمة متطابقة مع التعبير النمطي regex وتعيد سلسلة من المحارف التي ستحل مكان تلك القيم المتطابقة.

ignoreCase

قيمة منطقية تحدد إن كان يراد إهمال حالة الأحرف أُثناء إجراء عملية البحث والاستبدال أم لا. القيمة الافتراضية هي: false (أي أخذ حالة الأحرف بالحسبان).

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

تعاد سلسلة نصية تحوي جميع محتوى سلسلة المحارف أو السلسلة النصية المعطاة بعد تبديل المحرف newChar مكان أول ظهور للمحرف oldChar، أو السلسلة النصية newValue مكان أول ظهور للسلسلة النصية oldValue، أو السلسلة النصية replacement أو ناتج تنفيذ الدالة transform مكان أول ما يطابق التعبير النمطي regex فيها. 

أمثلة

مثال على استعمال الدالة ()replaceFirst:

fun main(args: Array<String>) {
    val str = "abc12rad234com"

    println(str.replaceFirst('a','X')) // Xbc12rad234com
    println(str.replaceFirst("rad","X")) // abc12X234com
    println(str.replaceFirst(Regex("""-?\d+(\.\d+)?"""), "X")) // abcXrad234com
}

انظر أيضًا

مصادر