الدالة 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()‎: تبحث على محرف يحقق شرطًا محدَّدًا ضمن محارف السلسلة التي استُدعيت معها ثمَّ تعيد أول ظهور له.  
  • الدالة findLast()‎: تبحث على محرف يحقق شرطًا محدَّدًا ضمن محارف السلسلة التي استُدعيت معها ثمَّ تعيد آخر ظهور له.    
  • الدالة first()‎: تجلب أول محرف من محارف السلسلة التي استُدعيت معها إن لم يمرر إليها أي شيء، أو أول محرف يحقق شرطًا معيَّنًا في حال تمرير دالة منطقية إليها.  
  • الدالة filter()‎: ترشِّح محارف سلسلة المحارف أو السلسلة النصية المعطاة بناءً على قيمة المحرف التي تحقِّق شرطًا معيَّنًا.

مصادر