الدالة 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
والذي يُغلّف سلسلة الحروف التي استُدعيت عبرها، لأجل استعمالها في الحلقات التكرارية.