الدالة text.replaceRange()‎ في لغة Kotlin

من موسوعة حسوب
< Kotlin‏ | kotlin.text
مراجعة 11:35، 30 أغسطس 2018 بواسطة عبد اللطيف ايمش (نقاش | مساهمات) (استبدال النص - 'Kotlin Functions' ب'Kotlin Function')
اذهب إلى التنقل اذهب إلى البحث

يختلف سلوك الدالة replaceRange()‎ بحسب أنواع الوسائط المُمررة (انظر فقرة البنيةالعامة).

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

fun CharSequence.replaceRange(
    startIndex: Int, 
    endIndex: Int, 
    replacement: CharSequence
): CharSequence

في حال استدعاء الدالة replaceRange()‎ عبر سلسلة حروف مع تمرير عددين startIndex و endIndex وسلسلة حروف replacement كوسائط فستعيد سلسلة حروف جديدة مع تعويض الحروف التي تنتمي فهارسها إلى المجال المحدد بـ startIndex و endIndex بسلسلة الحروف replacement.

inline fun String.replaceRange(
    startIndex: Int, 
    endIndex: Int, 
    replacement: CharSequence
): String

في حال استدعاء الدالة replaceRange()‎ عبر سلسلة نصية مع تمرير عددين startIndex و endIndex وسلسلة حروف replacement كوسائط فستعيد سلسلة نصية جديدة مع تعويض الحروف التي تنتمي فهارسها إلى المجال المحدد بـ startIndex و endIndex بسلسلة الحروف replacement.

fun CharSequence.replaceRange(
    range: IntRange, 
    replacement: CharSequence
): CharSequence

في حال استدعاء الدالة replaceRange()‎ عبر سلسلة حروف مع تمرير مجال range وسلسلة حروف replacement كوسيطين فستعيد سلسلة حروف جديدة مع تعويض الحروف التي تنتمي فهارسها إلى المجال range بسلسلة الحروف replacement. نهاية المجال range مُتضمّنة في الجزء الذي سيُستبدل.

inline fun CharSequence.replace(
    regex: Regex, 
    noinline transform: (MatchResult) -> CharSequence
): String

في حال استدعاء الدالة replaceRange()‎ عبر سلسلة نصية مع تمرير مجال range وسلسلة حروف replacement كوسيطين فستعيد سلسلة نصية جديدة مع تعويض الحروف التي تنتمي فهارسها إلى المجال range بسلسلة الحروف replacement. نهاية المجال range مُتضمّنة في الجزء الذي سيُستبدل.

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

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

سلسلة نصية أو سلسلة حروف.

أمثلة

استخدام الدالة ()replaceRange مع تمرير ثلاث وسائط

تعرِّف الشيفرة الآتية سلسلة نصية باسم str، ثمَّ تستدعي الدالة ()replaceRange عبرها مع تمرير عددين وسلسلة نصية كوسائط، ثمَّ تطبع الناتج:

fun main(args: Array<String>) {
val str = "Hsoub wiki" 
    
println( str.replaceRange (6,10,"academy") ) // Hsoub academy
}

استخدام الدالة ()replaceRange مع تمرير وسيطين

تعرِّف الشيفرة الآتية سلسلة نصية باسم str، ثمَّ تستدعي الدالة ()replaceRange عبرها مع تمرير مجال وسلسلة نصية كوسيطين، ثمَّ تطبع الناتج:

fun main(args: Array<String>) {
val str = "Hsoub wiki" 
    
println( str.replaceRange (6..9,"academy") ) // Hsoub academy
}

انظر أيضًا

مصادر