الفرق بين المراجعتين ل"Kotlin/kotlin.text/substring"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>text.substring()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة <code>substring()‎</code> Kotlin/Cha...')
 
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE: الدالة <code>text.substring()‎</code> في لغة Kotlin}}</noinclude>
 
<noinclude>{{DISPLAYTITLE: الدالة <code>text.substring()‎</code> في لغة Kotlin}}</noinclude>
تعيد  الدالة <code>substring()‎</code> [[Kotlin/CharSequence/index|سلسلة حروف]] أو [[Kotlin/String|سلسلة نصية]] جديدة تحتوي الحروف التي تنتمي فهارسها إلى الوسيط المُمرر.  
+
تعيد  الدالة <code>substring()‎</code> جزءًا من [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استُدعيت عبرها والمُحدد بالوسائط المُمررة (انظر فقرة البنية العامة).
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="kotlin">
 
<syntaxhighlight lang="kotlin">
fun CharSequence.slice(indices: IntRange): CharSequence
+
inline actual fun String.substring(startIndex: Int): String
  
</syntaxhighlight>في حال استدعاء الدالة <code>substring()‎</code> عبر [[Kotlin/CharSequence/index|سلسلة حروف]] مع تمرير مجال  <code>indices</code> من النوع <code>IntRange</code> كوسيط فستعيد  [[Kotlin/CharSequence/index|سلسلة حروف]] جديدة تحتوي الحروف التي تنتمي فهارسها إلى <code>IntRange</code>.<syntaxhighlight lang="kotlin">
+
</syntaxhighlight>تعيد الدالة <code>substring()‎</code> جزءًا من [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استُدعيت عبرها والذي يبدأ عند الفهرس المُحدّد <code>startIndex</code> و يستمر إلى نهاية [[Kotlin/CharSequence/index|سلسلة الحروف]] الأصلية. <syntaxhighlight lang="kotlin">
fun String.slice(indices: IntRange): String  
+
inline actual fun String.substring(
 +
    startIndex: Int,
 +
    endIndex: Int
 +
): String
 +
</syntaxhighlight>تعيد  الدالة <code>substring()‎</code> جزءًا من [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استُدعيت عبرها والذي يبدأ عند الفهرس المُحدّد <code>startIndex</code> و ينتهي عند الفهرس المُحدّد <code>endIndex</code>(غير مُتضمّن).<syntaxhighlight lang="kotlin">
 +
fun String.substring(range: IntRange): String
 +
fun CharSequence.substring(range: IntRange): String
  
</syntaxhighlight>في حال استدعاء الدالة <code>slice()‎</code> عبر  [[Kotlin/String|سلسلة نصية]] مع تمرير مجال  <code>indices</code> من النوع <code>IntRange</code> كوسيط فستعيد  [[Kotlin/String|سلسلة نصية]] جديدة تحتوي الحروف التي تنتمي فهارسها إلى <code>IntRange</code>.<syntaxhighlight lang="kotlin">
+
</syntaxhighlight>تعيد الدالة <code>substring()‎</code> جزءًا من [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استُدعيت عبرها والذي يُحدد بمجال الفهارس المُحدّد <code>range.</code><syntaxhighlight lang="kotlin">
fun CharSequence.slice(indices: Iterable<Int>): CharSequence
+
inline fun CharSequence.substring(
 
+
     startIndex: Int,  
</syntaxhighlight>في حال استدعاء  الدالة <code>slice()‎</code> عبر [[Kotlin/CharSequence/index|سلسلة حروف]] مع تمرير مجال <code>indices</code> من النوع <code>Iterable<Int>‎</code> كوسيط فستعيد  [[Kotlin/CharSequence/index|سلسلة حروف]] جديدة تحتوي الحروف التي تنتمي فهارسها إلى <code>IntRange</code>.<nowiki/><syntaxhighlight lang="kotlin">
+
     endIndex: Int = length
inline fun CharSequence.replace(
 
     regex: Regex,  
 
     noinline transform: (MatchResult) -> CharSequence
 
 
): String
 
): String
</syntaxhighlight>في حال استدعاء الدالة <code>slice()‎</code> عبر  [[Kotlin/String|سلسلة نصية]] مع تمرير مجال  <code>indices</code> من النوع <code>Iterable<Int></code> كوسيط فستعيد  [[Kotlin/String|سلسلة نصية]] جديدة تحتوي الحروف التي تنتمي فهارسها إلى <code>IntRange</code>.
+
</syntaxhighlight>تعيد الدالة <code>substring()‎</code> جزءًا من [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استُدعيت عبرها والذي يبدأ عند الفهرس المُحدّد <code>startIndex</code> و ينتهي عند الفهرس المُحدّد <code>endIndex</code>(غير مُتضمّن). القيمة الافتراضية للوسيط <code>endIndex</code> هي طول [[Kotlin/CharSequence/index|سلسلة الحروف]] الأصلية.
  
 
يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
 
يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
  
 
==القيم المعادة==
 
==القيم المعادة==
[[Kotlin/String|سلسلة نصية]] أو [[Kotlin/CharSequence/index|سلسلة حروف]].  
+
[[Kotlin/String|سلسلة نصية]].  
 
==أمثلة==
 
==أمثلة==
 
===استخدام الدالة <code>()substring</code> مع سلسلة نصية===
 
===استخدام الدالة <code>()substring</code> مع سلسلة نصية===
تعرِّف الشيفرة الآتية  [[Kotlin/String|سلسلة نصية]] باسم <code>str</code>، ثمَّ تستدعي الدالة  <code>()substring</code> عبرها مع تمرير مجال كوسيط، <nowiki/>ثمَّ تطبع الناتج:<syntaxhighlight lang="kotlin">
+
تعرِّف الشيفرة الآتية  [[Kotlin/String|سلسلة نصية]] باسم <code>str</code>، ثمَّ تستدعي الدالة  <code>()substring</code> عبرها، <nowiki/>ثمَّ تطبع الناتج:<syntaxhighlight lang="kotlin">
 
fun main(args: Array<String>) {
 
fun main(args: Array<String>) {
    val str = "Hsoub wiki"
+
val str = "wiki.hsoub.com"
 
+
   
    println(str.slice(0..4)) // Hsoub
+
println(str.substring(5..9)) // hsoub
 +
println(str.substring(5,10)) // hsoub
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
سطر 35: سطر 39:
  
 
* <code>[[Kotlin/kotlin.text/removeSuffix|removeSuffix()]]‎</code>: إن كانت [[Kotlin/String|السلسلة النصية]] أو [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استٌدعيت عبرها الدالة <code>removeSuffix()‎</code> تنتهي باللاحقة <code>suffix</code> فستعيد [[Kotlin/String|سلسلة نصية]] أو [[Kotlin/CharSequence/index|سلسلة حروف]] جديدة مع حذف تلك اللاحقة، وإلا فستعيد [[Kotlin/String|السلسلة النصية]] أو [[Kotlin/CharSequence/index|سلسلة الحروف]] كما هي. 
 
* <code>[[Kotlin/kotlin.text/removeSuffix|removeSuffix()]]‎</code>: إن كانت [[Kotlin/String|السلسلة النصية]] أو [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استٌدعيت عبرها الدالة <code>removeSuffix()‎</code> تنتهي باللاحقة <code>suffix</code> فستعيد [[Kotlin/String|سلسلة نصية]] أو [[Kotlin/CharSequence/index|سلسلة حروف]] جديدة مع حذف تلك اللاحقة، وإلا فستعيد [[Kotlin/String|السلسلة النصية]] أو [[Kotlin/CharSequence/index|سلسلة الحروف]] كما هي. 
* <code>[[Kotlin/kotlin.text/asSequence|asSequence()]]‎</code>: تنشئ كائنًا من الصنف <code>Sequence</code> والذي يُغلّف سلسلة الحروف التي استُدعيت عبرها، لأجل استعمالها في الحلقات التكرارية.
+
* <code>[[Kotlin/kotlin.text/slice|slice()]]‎</code>: تعيد  الدالة <code>slice()‎</code> [[Kotlin/CharSequence/index|سلسلة حروف]] أو [[Kotlin/String|سلسلة نصية]] جديدة تحتوي الحروف التي تنتمي فهارسها إلى الوسيط المُمرر. 
  
 
==مصادر==
 
==مصادر==
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/slice.html الدالة text.substring()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
+
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/substring.html الدالة text.substring()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin Functions]]
 
[[تصنيف:Kotlin Functions]]

مراجعة 13:38، 12 يوليو 2018

تعيد الدالة substring()‎ جزءًا من سلسلة الحروف التي استُدعيت عبرها والمُحدد بالوسائط المُمررة (انظر فقرة البنية العامة).

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

inline actual fun String.substring(startIndex: Int): String

تعيد الدالة substring()‎ جزءًا من سلسلة الحروف التي استُدعيت عبرها والذي يبدأ عند الفهرس المُحدّد startIndex و يستمر إلى نهاية سلسلة الحروف الأصلية.

inline actual fun String.substring(
    startIndex: Int, 
    endIndex: Int
): String

تعيد الدالة substring()‎ جزءًا من سلسلة الحروف التي استُدعيت عبرها والذي يبدأ عند الفهرس المُحدّد startIndex و ينتهي عند الفهرس المُحدّد endIndex(غير مُتضمّن).

fun String.substring(range: IntRange): String 
fun CharSequence.substring(range: IntRange): String

تعيد الدالة substring()‎ جزءًا من سلسلة الحروف التي استُدعيت عبرها والذي يُحدد بمجال الفهارس المُحدّد range.

inline fun CharSequence.substring(
    startIndex: Int, 
    endIndex: Int = length
): String

تعيد الدالة substring()‎ جزءًا من سلسلة الحروف التي استُدعيت عبرها والذي يبدأ عند الفهرس المُحدّد startIndex و ينتهي عند الفهرس المُحدّد endIndex(غير مُتضمّن). القيمة الافتراضية للوسيط endIndex هي طول سلسلة الحروف الأصلية.

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

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

سلسلة نصية.

أمثلة

استخدام الدالة ()substring مع سلسلة نصية

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

fun main(args: Array<String>) {
val str = "wiki.hsoub.com"
    
println(str.substring(5..9)) // hsoub
println(str.substring(5,10)) // hsoub
}

انظر أيضًا

مصادر