الفرق بين المراجعتين لصفحة: «Kotlin/kotlin.text/regionMatches»

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع text.regionMatches()‎ في لغة Kotlin}}</noinclude> تعيد الدالة <code>regionMatches()</code>‎ القيمة <code...'
 
مراجعة وتدقيق.
 
(مراجعتان متوسطتان بواسطة مستخدم واحد آخر غير معروضتين)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع text.regionMatches()‎ في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>regionMatches()‎</code> في Kotlin}}</noinclude>
تعيد الدالة <code>regionMatches()</code>‎ القيمة <code>true</code> إن طابقت [[Kotlin/String|السلسلة النصية]] أو [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استٌدعيت عبرها  التعبير النمطي المُمرّر <code>regex</code>.
تتحقق الدالة <code>regionMatches()</code>‎ من مطابقة جزأين من [[Kotlin/String|سلسلتين نصيتين]] أو [[Kotlin/CharSequence|سلسلتين من المحارف]] محددين ببداية وطول مع بعضهما بعضًا.
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="kotlin">
<syntaxhighlight lang="kotlin">
fun String.matches(regex: String): Boolean  
actual fun CharSequence.regionMatches(
    thisOffset: Int,
    other: CharSequence,
    otherOffset: Int,
    length: Int,
    ignoreCase: Boolean = false
): Boolean


inline infix fun CharSequence.matches(regex: Regex): Boolean  
fun String.regionMatches(
    thisOffset: Int,
    other: String,
    otherOffset: Int,
    length: Int,
    ignoreCase: Boolean = false
): Boolean
</syntaxhighlight>
 
== المعاملات ==
 
=== <code>thisOffset</code> ===
[[Kotlin/Int|عدد صحيح]] يمثل مقدار الإزاحة بدءًا من بداية [[Kotlin/CharSequence|سلسلة المحارف]] أو [[Kotlin/String|السلسلة النصية]] المعطاة والذي يحدد بداية الجزء المراد مطابقته.
 
=== <code>other</code> ===
[[Kotlin/CharSequence|سلسلة من المحارف]] أو سلسلة نصية تحوي الجزء المراد التحقق من مطابقته مع آخر موجود في [[Kotlin/CharSequence|سلسلة المحارف]] أو [[Kotlin/String|السلسلة النصية]] المعطاة.


=== <code>otherOffset</code> ===
[[Kotlin/Int|عدد صحيح]] يمثل مقدار الإزاحة بدءًا من بداية [[Kotlin/CharSequence|سلسلة المحارف]] أو [[Kotlin/String|السلسلة النصية]] <code>other</code> والذي يحدد بداية الجزء المراد مطابقته.


</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
=== <code>length</code> ===
[[Kotlin/Int|عدد صحيح]] يمثل طول الجزأين المراد مطابقتهما مع بعضهما بعضًا.
 
=== <code>ignoreCase</code> ===
قيمة منطقية تحدد إن كان يراد تجاهل حالة المحارف أثناء الموازنة بينها أم لا. القيمة الافتراضية هي: <code>false</code> (أي أحذ حالة المحارف بالحسبان).


==القيم المعادة==
==القيم المعادة==
قيمة منطقية.
تعاد القيمة <code>true</code> إن تطابق الجزء المحدد بالبداية <code>thisOffset</code> والطول <code>length</code> في سلسلة المحارف أو السلسلة النصية المعطاة مع الجزء الآخر المحدد بالبداية <code>otherOffset</code> والطول <code>length</code> في سلسلة المحارف أو السلسلة النصية <code>other</code>. خلا ذلك، تعاد القيمة <code>false</code>.
==أمثلة==
==أمثلة==
===استخدام الدالة <code>regionMatches()‎</code> مع السلاسل النصية===
مثالٌ على استعمال الدالة <code>regionMatches()‎</code>:<syntaxhighlight lang="kotlin">
تُعرّف الشيفرة الآتية [[Kotlin/String|سلسلتين نصيتين]] باسم <code>str</code> و <code>str2</code>، ثم تستدعي الدالة <code>regionMatches()‎</code> عبرهما وتمرر  [[Kotlin/String|سلسلة نصية]] كوسيط، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
val str = "sds12ff"  
    val str1 = "abcradxyz"
val str2 = "sdsff"  
    val str2 = "mmradrt"
      
 
print( str.matches ("""-?\d+(\.\d+)?""") ) // true
     print(str1.regionMatches (3, str2, 2, 3)) // true
print( str2.matches ("""-?\d+(\.\d+)?""") ) // false
    print(str1.regionMatches (3, str2, 1, 3)) // false
}
}
</syntaxhighlight>
</syntaxhighlight>
==انظر أيضًا==
==انظر أيضًا==
*<code>[[Kotlin/kotlin.text/match|match()]]‎</code>: تعيد [[Kotlin/Array|مصفوفة]] مكونة من [[Kotlin/String|السلاسل النصية]] المُطابقة للتعبير النمطي المُمرّر <code>regex</code> في [[Kotlin/String|السلسلة النصية]] التي استٌدعيت عبرها.
* الدالة <code>[[Kotlin/kotlin.text/contains|contains()‎]]</code>: تتحقق إن كانت <nowiki/>[[Kotlin/CharSequence|سلسلة المحارف]] التي استُدعيت معها تحوي <nowiki/>[[Kotlin/Char|المحرف]] أو <nowiki/>[[Kotlin/CharSequence|سلسلة المحارف]] المُمرّرة إليها.
*<code>[[Kotlin/kotlin.text/mapIndexed|mapIndexed()]]‎</code>: تعيد  [[Kotlin/String|لائحة]] مكونة من نتائج تطبيق الدالة <code>transform</code> المُمرّرة  على عناصر [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استٌدعيت عبرها وعلى فهارسها.
* الدالة <code>[[Kotlin/kotlin.text/Regex/containsMatchIn|containsMatchIn()]]</code>: تتحقق إن كان بإمكان <nowiki/>[[Kotlin/kotlin.text/Regex/index|التعبير النمطي]] الذي استُدعي معها مطابقة محرفٍ واحدٍ على الأقل من <nowiki/>[[Kotlin/CharSequence|سلسلة المحارف]] المُمرّرة إليه.
* الدالة <code>[[Kotlin/kotlin.text/contentEquals|contentEquals()‎]]</code>: تتحقق من تساوي محتوى [[Kotlin/String|السلسلة النصية]] التي استُدعيت معها مع محتوى [[Kotlin/CharSequence|سلسلة المحارف]] أو الكائن <code>[[Kotlin/kotlin.text/StringBuffer|StringBuffer]]</code> المُمرّر إليها.
* الدالة <code>[[Kotlin/kotlin.text/match|match()]]‎</code>: تطابق التعبير النمطي المُمرّر إليها في <nowiki/>[[Kotlin/String|السلسلة النصية]] التي استٌدعيت معها.
* الدالة <code>[[Kotlin/kotlin.text/matches|matches()]]‎</code>: تتحقق من مطابقة جميع محارف <nowiki/>[[Kotlin/CharSequence|السلسلة]] الممررة إليها مع <nowiki/>[[Kotlin/kotlin.text/Regex/index|التعبير النمطي]] الذي استدعي معها.
==مصادر==
==مصادر==
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/matches.html صفحة الدالة text.regionMatches()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/region-matches.html صفحة الدالة regionMatches()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Method]]
[[تصنيف:Kotlin Function]]
[[تصنيف:Kotlin Text]]

المراجعة الحالية بتاريخ 06:03، 5 سبتمبر 2018

تتحقق الدالة regionMatches()‎ من مطابقة جزأين من سلسلتين نصيتين أو سلسلتين من المحارف محددين ببداية وطول مع بعضهما بعضًا.

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

actual fun CharSequence.regionMatches(
    thisOffset: Int, 
    other: CharSequence, 
    otherOffset: Int, 
    length: Int, 
    ignoreCase: Boolean = false
): Boolean

fun String.regionMatches(
    thisOffset: Int, 
    other: String, 
    otherOffset: Int, 
    length: Int, 
    ignoreCase: Boolean = false
): Boolean

المعاملات

thisOffset

عدد صحيح يمثل مقدار الإزاحة بدءًا من بداية سلسلة المحارف أو السلسلة النصية المعطاة والذي يحدد بداية الجزء المراد مطابقته.

other

سلسلة من المحارف أو سلسلة نصية تحوي الجزء المراد التحقق من مطابقته مع آخر موجود في سلسلة المحارف أو السلسلة النصية المعطاة.

otherOffset

عدد صحيح يمثل مقدار الإزاحة بدءًا من بداية سلسلة المحارف أو السلسلة النصية other والذي يحدد بداية الجزء المراد مطابقته.

length

عدد صحيح يمثل طول الجزأين المراد مطابقتهما مع بعضهما بعضًا.

ignoreCase

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

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

تعاد القيمة true إن تطابق الجزء المحدد بالبداية thisOffset والطول length في سلسلة المحارف أو السلسلة النصية المعطاة مع الجزء الآخر المحدد بالبداية otherOffset والطول length في سلسلة المحارف أو السلسلة النصية other. خلا ذلك، تعاد القيمة false.

أمثلة

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

fun main(args: Array<String>) {
    val str1 = "abcradxyz"
    val str2 = "mmradrt"

    print(str1.regionMatches (3, str2, 2, 3)) // true
    print(str1.regionMatches (3, str2, 1, 3)) // false
}

انظر أيضًا

مصادر