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

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

تبحث الدالة findAnyOf()‎ عن أول ظهور لأيٍّ من السلاسل النصية المعطاة في سلسلة المحارف التي استُدعيت معها.

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

fun CharSequence.findAnyOf(
    strings: Collection<String>, 
    startIndex: Int = 0, 
    ignoreCase: Boolean = false
): Pair<Int, String>?

المعاملات

strings

مجموعةٌ من سلاسل نصية يراد البحث عنها ضمن سلسلة المحارف المعطاة.

لتجنب الالتباس الناتج عند وجود محارف مشتركة بين السلاسل النصية الموجودة في المعامل strings، فإنّ الدالة findAnyOf()‎ تبدأ من بداية سلسلة المحارف المعطاة وحتى نهايتها باحثةً عن العنصر الأول في strings ثم الثاني ثم الثالث ...إلخ. عند كل محرف من محارفها لمطابقة أول ظهور لأحد العناصر في سلسلة المحارف المعطاة .

startIndex

عدد صحيح يمثل فهرس العنصر الذي يراد بدء عملية البحث عنده. القيمة الافتراضية هي: 0 (أي بدء عملية البحث من بداية سلسلة المحارف).

ignorCase

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

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

يعاد زوجٌ مكونٌ من فهرس أول ظهور لأحد السلاسل النصية الموجودة في strings في سلسلة المحارف المعطاة والسلسلة النصية التي عُثِر عليها، أو تعاد القيمة null إن لم يُعثر على شيء.

أمثلة

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

fun main(args: Array<String>) {
    val str = "hsoub wiki"
    val strings = listOf("kotlin", "wiki","ki", "sou", "xyz")

    println(str.findAnyOf(strings)) // (1, sou)
}

انظر أيضًا

  • find(): تعيد أول حرف من سلسلة الحروف التي استُدعيت عبرها يحقق الشرط المنطقي predicate.
  • filterIndexed(): تعيد الدالة filterIndexed()‎ كل الحروف من سلسلة الحروف التي استُدعيت عبرها والتي تحقق الشرط المنطقي. يمرَّر فهرس كل عنصر وقيمته إلى الدالة predicate()‎ ثم تعيد بدورها قيمة منطقيَّة. 
  • elementAt(): تعيد الحرف الموجود في الفهرس المُحدّد في سلسلة الحروف التي استُدعيت عبرها، في حال كان الفهرس خارج الحدود فستطلق الاستثناء IndexOutOfBoundsException

مصادر