الخاصية MatchResult.destructured
في لغة Kotlin
الخاصية destructured
تعيد نسخة من الصنف MatchResult.Destructured،
والتي توفّر مركبات لتفكيك قيم المجموعة المُطابقة. المركبة الأولى تقابل قيمة المجموعة المُطابقَة الأولى، والمركبة الثانية تقابل الثانية، وهكذا دواليك.
البنية العامة
open val destructured: Destructured
القيمة المُعادة
نسخة من الصنف MatchResult.Destructured
.
أمثلة
استخدام الخاصية destructured
ينشِئ التابع Regex()
في الشيفرة الآتية تعبيرًا نمطيًا باسم regex
لتفكيك مسارات الملفات إلى ثلاث مُركّبات: المجلد (directory
) واسم الملف (fileName
) والامتداد (extension
)، ثم نعرّف سلسلة نصية باسم fullPath
تحتوي مسار أحد الملفات، ثم نستخرج من fullPath
مجموعات النتائج عبر استدعاء الدالةmatchEntire()
عبر regex
وتمرير fullPath
إليها كوسيط، ثم نستخدم الخاصيةdestructured
لاستخراج مجموعات النتائج، ثم نطبع الناتج:
package com.kotlination.filename
fun main(args: Array<String>) {
val fullPath = "Kotlination/Kotlin/Practice/getFileNameExample.kt"
val regex = """(.+)/(.+)\.(.+)""".toRegex()
val matchResult = regex.matchEntire(fullPath)
if (matchResult != null) {
val (directory, fileName, extension) = matchResult.destructured
println("dir: $directory | fileName: $fileName | extension: $extension")
// => dir: Kotlination/Kotlin/Practice | fileName: getFileNameExample | extension: kt
}
}
أنظر أيضًا
- صفحة الصنف
Destructured
. - الخاصية
MatchResult.groups
: تعيد الخاصيةgroups
كائنًا من النوعMatchGroupCollection
يضم مجموعة المُطابقات الموجودة في التعبير النمطي. حجم تلك المجموعة يساويgroupCount + 1،
حيثgroupCount
هو عدد المجموعات المطابَقة في التعبير النمطي. تلك المجموعات مُفهرسة من 1 حتىgroupCount،
والمجموعة ذات الفهرس0
توافق المطابقة الكلية. - الخاصية
MatchResult.groupValues
: تعيد لائحة تضم مجموعة المُطابقات للتعبير النمطي. حجم تلك اللائحة يساويgroupCount + 1،
حيثgroupCount
هو عدد المجموعات المطابَقة في التعبير النمطي. تلك المجموعات مُفهرسة من 1 حتىgroupCount،
والمجموعة ذات الفهرس0
توافق المطابقة الكلية.