الدالة text.replaceRange() في لغة Kotlin
يختلف سلوك الدالة 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
}
انظر أيضًا
replaceAfter(): تعيد الدالةreplaceAfter()سلسلة نصية جديدة تساوي السلسلة النصية التي استُدعيت عبرها مع تعويض الجزء الذي يظهر بعد الوسيط المُمرّرdelimiterبالسلسلة النصيةreplacement. إن لم لم تحتو السلسلة النصية علىdelimiterفستعيدmissingDelimiterValueوالذي يساوي افتراضيا السلسلة النصية الأصلية.
removeSuffix(): إن كانت السلسلة النصية أو سلسلة الحروف التي استٌدعيت عبرها الدالةremoveSuffix()تنتهي باللاحقةsuffixفستعيد سلسلة نصية أو سلسلة حروف جديدة مع حذف تلك اللاحقة، وإلا فستعيد السلسلة النصية أو سلسلة الحروف كما هي.asSequence(): تنشئ كائنًا من الصنفSequenceوالذي يُغلّف سلسلة الحروف التي استُدعيت عبرها، لأجل استعمالها في الحلقات التكرارية.