الفرق بين المراجعتين ل"Kotlin/kotlin.text/Regex/replace"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
ط (استبدال النص - 'Kotlin Methods' ب'Kotlin Function')
ط
 
(مراجعة متوسطة واحدة بواسطة نفس المستخدم غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>Regex.replace()‎</code> في لغة Kotlin}}</noinclude>
+
<noinclude>{{DISPLAYTITLE: الدالة <code>Regex.replace()‎</code> في Kotlin}}</noinclude>
تستبدل الدالة<code>replace()‎</code> كل المطابقات  [[Kotlin/kotlin.text/Regex/index|للتعبير النمطي]] الذي استُدعيت عبره في الكائن المُمرّر <code>input</code>، [[Kotlin/String|بالسلسلة النصية]] المُمرّرة <code>replacement</code>.
+
تبدل الدالة <code>replace()‎</code> [[Kotlin/String|سلسلة النصية]] معينة مكان كل تطابقات [[Kotlin/kotlin.text/Regex/index|التعبير النمطي]] الذي استدعي معها في [[Kotlin/CharSequence|سلسلة المحارف]] المُمرّرة إليها أو [[Kotlin/CharSequence|سلسلة المحارف]] التي تعيدها الدالة الممررة إليها.
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="kotlin">
 
<syntaxhighlight lang="kotlin">
سطر 7: سطر 7:
 
     replacement: String
 
     replacement: String
 
): String
 
): String
 +
 +
actual fun replace(
 +
    input: CharSequence,
 +
    transform: (MatchResult) -> CharSequence
 +
): String (source)
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
== المعاملات ==
 +
 +
=== <code>input</code> ===
 +
[[Kotlin/CharSequence|سلسلة المحارف]] التي يراد مطابقتها مع تعبير نمطي واستبدال محتوى المعامل <code>replacement</code> أو ناتج الدالة <code>transform</code> بها.
 +
 +
=== <code>replacement</code> ===
 +
[[Kotlin/String|السلسلة النصية]] التي يراد أن تحل مكان كل تطابقات [[Kotlin/kotlin.text/Regex/index|التعبير النمطي]] المعطى في المعامل <code>input</code>.
 +
 +
=== <code>transform</code> ===
 +
دالة تعيد مجموعةٌ من المحارف التي يراد أن تحل مكان كل تطابقات [[Kotlin/kotlin.text/Regex/index|التعبير النمطي]] المعطى في المعامل <code>input</code>.
 +
 
==القيمة المعادة==
 
==القيمة المعادة==
[[Kotlin/String|سلسلة نصية]]
+
تعاد [[Kotlin/String|سلسلة نصية]] تحوي جميع محتوى المعامل <code>input</code> بعد تبديل السلسلة النصية <code>replacement</code> مكان تطابقات [[Kotlin/kotlin.text/Regex/index|التعبير النمطي]] المعطى فيها.
 
==أمثلة==
 
==أمثلة==
===استخدام التابع <code>replace()‎</code>===
+
تنشئ الدالة <code>[[Kotlin/kotlin.text/Regex/Init|Regex()]]‎</code> في الشيفرة التالية <nowiki/>[[Kotlin/kotlin.text/Regex/index|تعبيرًا نمطيًا]] باسم <code>reg</code> لمطابقة التعابير العددية، ثم تُستدعََى معه الدالة <code>replace()‎</code> لاستبدال كل القيم العددية أينما وجدت:<syntaxhighlight lang="kotlin">
ينشِئ التابع <code>[[Kotlin/kotlin.text/Regex/Init|Regex()]]‎</code> في الشيفرة الآتية <nowiki/>[[Kotlin/kotlin.text/Regex/index|تعبيرًا نمطيًا]] باسم <code>reg</code> لمطابقة التعابير العددية، ثم يستدعي عبره الدالة <code>replace()‎</code> لاستبدال المطابقات الموجودة في [[Kotlin/String|السلسلة النصية]] المُمررّة  [[Kotlin/kotlin.text/Regex/index|للتعبير النمطي]] <code>reg</code> (أي للتعابير العددية)، ثم يطبع الناتج:<syntaxhighlight lang="kotlin">
 
 
fun main(args: Array<String>) {
 
fun main(args: Array<String>) {
val reg = Regex("""-?\d+(\.\d+)?""") // يطابق هذا التعبير النمطي التعابير العددية، مثل: 45
+
    // يطابق التعبير النمطي التالي جميع الأعداد
      
+
    val reg = Regex("""-?\d+(\.\d+)?""")
println(reg.replace("ab12cd34ef", "X")) // => abXcdXef
+
 
 +
     println(reg.replace("ab12cd34ef", "X")) // => abXcdXef
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
==أنظر أيضًا==
+
==انظر أيضًا==
* الخاصية <code>[[Kotlin/kotlin.text/Regex/pattern|pattern]]:</code> تعيد السلسلة النصية النمطية (pattern string) التي استُخدمت في إنشاء التعبير النمطي الذي استُدعيت عبره.
+
*الدالة <code>[[Kotlin/kotlin.text/Regex/replaceFirst|replaceFirst()‎]]</code>: تبدل [[Kotlin/String|سلسلة النصية]] معينة مكان أول مطابقة [[Kotlin/kotlin.text/Regex/index|للتعبير النمطي]] الذي استدعي معها في [[Kotlin/CharSequence|سلسلة المحارف]] المُمرّرة إليها.
* <code>[[Kotlin/kotlin.text/Regex/findAll| findAll()‎]]:</code> تعيد كل المطابقات [[Kotlin/kotlin.text/Regex/index|للتعبير النمطي]] الذي استُدعيت عبره  في الوسيط المُمرّر <code>input،</code>بداية من الفهرس المحدد بالوسيط <code>startIndex.</code>
 
 
 
* الخاصية <code>[[Kotlin/kotlin.text/Regex/options|options]]:</code> تعبر عن مجموعة الخيارات التي استُخدمت في إنشاء التعبير النمطي الذي استُدعيت عبره.
 
  
 +
*الدالة <code>[[Kotlin/kotlin.text/Regex/containsMatchIn|containsMatchIn()‎]]</code>: تتحقق إن كان بإمكان [[Kotlin/kotlin.text/Regex/index|التعبير النمطي]] الذي استُدعي معها مطابقة محرفٍ واحدٍ على الأقل من [[Kotlin/CharSequence|سلسلة المحارف]] المُمرّرة إليه.
 +
*الدالة <code>[[Kotlin/kotlin.text/Regex/findAll|findAll()‎]]</code>: تبحث عن جميع المحارف المتطابقة مع [[Kotlin/kotlin.text/Regex/index|التعبير النمطي]] الذي استُدعي معها في [[Kotlin/CharSequence|سلسلة المحارف]] الممرَّرة إليها. يمكن البحث في [[Kotlin/CharSequence|سلسلة المحارف]] المعطاة بأكملها، أو يمكن بدء عملية البحث عند محرف معين.
 +
*الدالة <code>[[Kotlin/kotlin.text/Regex/matchEntire|matchEntire()‎]]</code>: تحاول مطابقة جميع محارف <nowiki/>[[Kotlin/CharSequence|السلسلة]] الممررة إليها مع <nowiki/>[[Kotlin/kotlin.text/Regex/index|التعبير النمطي]] الذي استدعي معها.
 +
*الدالة <code>[[Kotlin/kotlin.text/Regex/split|split()‎]]</code>: تقتطع المحارف الموجودة بين الأجزاء المتطابقة مع <nowiki/>[[Kotlin/kotlin.text/Regex|التعبير النمطي]] الذي استُدعي معها في <nowiki/>[[Kotlin/CharSequence|سلسلة المحارف]] الممررة إليها.
 
==مصادر==
 
==مصادر==
* [http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-regex/replace.html الدالة  Regex.replace()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
+
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-regex/replace.html صفحة الدالة Regex.replace()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin Function]]
 
[[تصنيف:Kotlin Function]]
 +
[[تصنيف:Kotlin Text]]
 +
[[تصنيف:Kotlin Regex]]

المراجعة الحالية بتاريخ 14:56، 30 أغسطس 2018

تبدل الدالة replace()‎ سلسلة النصية معينة مكان كل تطابقات التعبير النمطي الذي استدعي معها في سلسلة المحارف المُمرّرة إليها أو سلسلة المحارف التي تعيدها الدالة الممررة إليها.

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

actual fun replace(
    input: CharSequence, 
    replacement: String
): String

actual fun replace(
    input: CharSequence, 
    transform: (MatchResult) -> CharSequence
): String (source)

المعاملات

input

سلسلة المحارف التي يراد مطابقتها مع تعبير نمطي واستبدال محتوى المعامل replacement أو ناتج الدالة transform بها.

replacement

السلسلة النصية التي يراد أن تحل مكان كل تطابقات التعبير النمطي المعطى في المعامل input.

transform

دالة تعيد مجموعةٌ من المحارف التي يراد أن تحل مكان كل تطابقات التعبير النمطي المعطى في المعامل input.

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

تعاد سلسلة نصية تحوي جميع محتوى المعامل input بعد تبديل السلسلة النصية replacement مكان تطابقات التعبير النمطي المعطى فيها.

أمثلة

تنشئ الدالة Regex() في الشيفرة التالية تعبيرًا نمطيًا باسم reg لمطابقة التعابير العددية، ثم تُستدعََى معه الدالة replace()‎ لاستبدال كل القيم العددية أينما وجدت:

fun main(args: Array<String>) {
    // يطابق التعبير النمطي التالي جميع الأعداد
    val reg = Regex("""-?\d+(\.\d+)?""")

    println(reg.replace("ab12cd34ef", "X")) // => abXcdXef
}

انظر أيضًا

مصادر