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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>Regex.replace()‎</code> في لغة Kotlin}}</noinclude> إن كانت جميع حروف الوسيط الممرّر <co...')
 
ط
 
(4 مراجعات متوسطة بواسطة 3 مستخدمين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>Regex.replace()‎</code> في لغة Kotlin}}</noinclude>
+
<noinclude>{{DISPLAYTITLE: الدالة <code>Regex.replace()‎</code> في Kotlin}}</noinclude>
إن كانت جميع حروف الوسيط  الممرّر <code>input</code> تطابق [[Kotlin/kotlin.text/Regex/index|التعبير النمطي]] الذي استُدعيت عبره،  فإن الدالة<code>replace()‎</code> تعيد نسخة من الصنف [[Kotlin/kotlin.text/MatchResult/index|<code>MatchResult</code>]] تحتوي الكائن المُمرّر نفسه، وإلا فستعيد القيمة المعدومة <code>null</code>.
+
تبدل الدالة <code>replace()‎</code> [[Kotlin/String|سلسلة النصية]] معينة مكان كل تطابقات [[Kotlin/kotlin.text/Regex/index|التعبير النمطي]] الذي استدعي معها في [[Kotlin/CharSequence|سلسلة المحارف]] المُمرّرة إليها أو [[Kotlin/CharSequence|سلسلة المحارف]] التي تعيدها الدالة الممررة إليها.
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="kotlin">
 
<syntaxhighlight lang="kotlin">
actual fun matchEntire(input: CharSequence): MatchResult?
+
actual fun replace(
 +
    input: CharSequence,
 +
    replacement: String
 +
): String
  
 +
actual fun replace(
 +
    input: CharSequence,
 +
    transform: (MatchResult) -> CharSequence
 +
): String (source)
 
</syntaxhighlight>
 
</syntaxhighlight>
==القيمة المُعادة==
+
 
كائن من النوع <code>[[Kotlin/Sequence|Sequence]]<[[Kotlin/kotlin.text/MatchResult/index|MatchResult]]></code> أو <code>null</code>.
+
== المعاملات ==
 +
 
 +
=== <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|سلسلة نصية]] تحوي جميع محتوى المعامل <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.matchEntire("ab12cd34ef")?.value) // => null
+
 
println(reg.matchEntire("4564646")?.value) // => 4564646
+
     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/find-all.html الدالة  Regex.replace()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
+
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-regex/replace.html صفحة الدالة Regex.replace()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Methods]]
+
[[تصنيف: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
}

انظر أيضًا

مصادر