الدالة split()
في Kotlin
تقتطع الدالة split()
المحارف الموجودة بين الأجزاء المتطابقة مع تعبير نمطي معين أو بين سلاسل نصية أو محارف معينة في سلسلة المحارف الممررة إليها وتعيدها في قائمة.
البنية العامة
fun CharSequence.split(
regex: Pattern,
limit: Int = 0
): List<String>
inline fun CharSequence.split(
regex: Regex,
limit: Int = 0
): List<String>
fun CharSequence.split(
vararg delimiters: String,
ignoreCase: Boolean = false,
limit: Int = 0
): List<String>
fun CharSequence.split(
vararg delimiters: Char,
ignoreCase: Boolean = false,
limit: Int = 0
): List<String>
وجود الكلمة المفتاحية inline
يدل على أن هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)).
المعاملات
regex
النمط أو التعبير النمطي الذي يراد أن يطابق سلسلة المحارف المعطاة.
limit
عدد صحيح موجب يحدد الحد الأقصى لعدد الأجزاء المقتطعة المراد جلبها. قيمته الافتراضية هي: 0 أي لا يوجد حد أقصى.
delimiters
سلسلة نصية واحدة أو أكثر أو محرف واحد أو أكثر تمثل الفواصل بين الأجزاء الواقعة بينها التي يراد جلبها.
لتجنب الالتباس الناتج عند وجود محارف مشتركة بين السلاسل النصية الموجودة في المعامل delimiters
، فإنّ الدالة split()
تبدأ من بداية سلسلة المحارف المعطاة وحتى نهايتها باحثةً عن العنصر الأول في strings
ثم الثاني ثم الثالث ...إلخ. عند كل محرف من محارفها لمطابقة ذلك العنصر في سلسلة المحارف المعطاة .
ignoreCase
قيمة منطقية تحدد إن كان يراد تجاهل حالة الأحرف أثناء إجراء عملية الموازنة أم لا. القيمة الافتراضية هي: false
(أي أخذ حالة الأحرف بالحسبان).
القيم المعادة
تعاد قائمة من سلاسل نصية تحوي الأجزاء المقتطعة من السلسلة النصية المعطاة والواقعة بين الأجزاء المتطابقة مع التعبير النمطي regex
أو الموجودة بين الفواصل delimiters
.
أمثلة
مثالٌ على استعمال الدالة ()split
مع سلسلة نصية:
fun main(args: Array<String>) {
val str = "wiki.hsoub.com"
println(str.split(".")) // [wiki, hsoub, com]
}
مثالٌ آخر على استعمال الدالة ()split
مع تعبير نمطي:
fun main(args: Array<String>) {
val str2 = "aa132bfd4xyz"
// يطابق التعبير النمطي التالي القيم العددية
val reg = Regex("""-?\d+(\.\d+)?""")
println(str2.split(reg)) // [aa, bfd, xyz]
}
انظر أيضًا
- الدالة
split()
: تقتطع المحارف الموجودة بين الأجزاء المتطابقة مع التعبير النمطي الذي استُدعي معها في سلسلة المحارف الممررة إليها. - الدالة
splitToSequence()
: تقتطع المحارف الموجودة بين الأجزاء المتطابقة مع تعبير نمطي معين أو بين سلاسل نصية أو محارف معينة في سلسلة المحارف الممررة إليها وتعيدها في سلسلة. - الدالة
slice()
: تقطتع جزءًا محدَّدًا من سلسلة المحارف أو السلسلة النصية التي استُدعيت معها ثمَّ تعيده.