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

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>text.trim()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة <code>trim()‎</code> جزءًا من Kotl...'
 
مراجعة وتدقيق.
 
(4 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>text.trim()‎</code> في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>trim()‎</code> في Kotlin}}</noinclude>
تعيد  الدالة <code>trim()‎</code> جزءًا من [[Kotlin/CharSequence/index|سلسلة الحروف]] أو [[Kotlin/String|السلسلة النصية]] التي استُدعيت عبرها والمُحدد بالوسائط المُمررة (انظر فقرة [[Kotlin/kotlin.text/substring#.D8.A7.D9.84.D8.A8.D9.86.D9.8A.D8.A9 .D8.A7.D9.84.D8.B9.D8.A7.D9.85.D8.A9|البنية العامة]]).   
تحذف الدالة <code>trim()‎</code> المحارف المحققة لشرط معين، أو محارف محددة، أو المسافات الفارغة من بداية ونهاية [[Kotlin/CharSequence|سلسلة المحارف]] أو [[Kotlin/String|السلسلة النصية]] التي استُدعيت معها.   
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="kotlin">
<syntaxhighlight lang="kotlin">
inline actual fun String.substring(startIndex: Int): String
inline fun CharSequence.trim(
    predicate: (Char) -> Boolean
): CharSequence


</syntaxhighlight>تعيد  الدالة <code>trim()‎</code> جزءًا من [[Kotlin/String|السلسلة النصية]] التي استُدعيت عبرها والذي يبدأ عند الفهرس المُحدّد <code>startIndex</code> و يستمر إلى نهاية  [[Kotlin/String|السلسلة النصية]] الأصلية. <syntaxhighlight lang="kotlin">
inline fun String.trim(predicate: (Char) -> Boolean): String  
inline actual fun String.substring(
    startIndex: Int,
    endIndex: Int
): String
</syntaxhighlight>تعيد  الدالة <code>substring()‎</code> جزءًا من [[Kotlin/String|السلسلة النصية]] التي استُدعيت عبرها والذي يبدأ عند الفهرس المُحدّد <code>startIndex</code> و ينتهي عند الفهرس المُحدّد <code>endIndex</code>(غير مُتضمّن).<syntaxhighlight lang="kotlin">
fun String.substring(range: IntRange): String
fun CharSequence.substring(range: IntRange): String


</syntaxhighlight>تعيد  الدالة <code>substring()‎</code> جزءًا من [[Kotlin/CharSequence/index|سلسلة الحروف]] أو [[Kotlin/String|السلسلة النصية]] التي استُدعيت عبرها والمُحدد بمجال الفهارس  المُمرّر <code>range.</code><syntaxhighlight lang="kotlin">
fun CharSequence.trim(vararg chars: Char): CharSequence  
inline fun CharSequence.substring(
    startIndex: Int,
    endIndex: Int = length
): String
</syntaxhighlight>تعيد  الدالة <code>substring()‎</code> جزءًا من [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استُدعيت عبرها والذي يبدأ عند الفهرس المُحدّد <code>startIndex</code> و ينتهي عند الفهرس المُحدّد <code>endIndex</code>(غير مُتضمّن). القيمة الافتراضية للوسيط <code>endIndex</code> هي طول [[Kotlin/CharSequence/index|سلسلة الحروف]] الأصلية.


يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
fun String.trim(vararg chars: Char): String
 
fun CharSequence.trim(): CharSequence
 
inline fun String.trim(): String
 
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة <nowiki/>[[Kotlin/inline functions|الدوال المباشرة (inline functions)]]).
 
== المعاملات ==
 
=== <code>predicate</code> ===
دالةٌ تطبق على كل محرف من محارف [[Kotlin/CharSequence|سلسلة المحارف]] أو [[Kotlin/String|السلسلة النصية]] المعطاة. يمرر إليها كل محرف على حدة وتعيد القيمة المنطقية المقابلة له.
 
=== <code>chars</code> ===
المحارف المراد حذفها من بداية ونهاية [[Kotlin/CharSequence|سلسلة المحارف]] أو [[Kotlin/String|السلسلة النصية]] المعطاة.


==القيم المعادة==
==القيم المعادة==
[[Kotlin/String|سلسلة نصية]].  
تعاد [[Kotlin/CharSequence/index|سلسلة من المحارف]] أو [[Kotlin/String|سلسلة نصية]] تحوي جميع محارف سلسلة المحارف أو السلسلة النصية المعطاة باستثناء المحارف المحققة للشرط <code>predicate</code>، أو المحارف <code>chars</code>، أو المسافات الفارغة (إن لم يمرر أي معامل) الموجودة في بدايتها ونهايتها.  
==أمثلة==
==أمثلة==
===استخدام الدالة <code>()trim</code> مع سلسلة نصية===
مثالٌ على استعمال الدالة <code>()trim</code><nowiki/>:<syntaxhighlight lang="kotlin">
تعرِّف الشيفرة الآتية  [[Kotlin/String|سلسلة نصية]] باسم <code>str</code>، ثمَّ تستدعي الدالة  <code>()trim</code> عبرها، <nowiki/>ثمَّ تطبع الناتج:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
val str = "wiki.hsoub.com"
    println("   hsoub   ".trim()) // hsoub
   
    println("++++hsoub......".trim { !it.isLetter() }) // hsoub
println(str.substring(5..9)) // hsoub
println(str.substring(5,10)) // hsoub
}
}
</syntaxhighlight>
</syntaxhighlight>
==انظر أيضًا==
==انظر أيضًا==
* <code>[[Kotlin/kotlin.text/substringAfter|substringAfter()]]‎</code>: تعيد  الدالة <code>substringAfter()‎</code> جزءًا من [[Kotlin/String|السلسلة النصية]] التي استُدعيت عبرها والمُتواجد بعد أول ظهور للمُحدِّد <code>delimiter،</code> إن لم تكن [[Kotlin/String|السلسلة النصية]] الأصلية تحتوي <code>delimiter</code>، فستعيد القيمة المُمرّرة <code>missingDelimiterValue</code>، والتي قيمتها الافتراضية هي [[Kotlin/String|السلسلة النصية]] الأصلية. 
* الدالة <code>[[Kotlin/kotlin.text/trimEnd|trimEnd()]]‎</code>: تحذف المحارف المحققة لشرط معين، أو محارف محددة، أو المسافات الفارغة من نهاية [[Kotlin/CharSequence|سلسلة المحارف]] أو [[Kotlin/String|السلسلة النصية]] التي استُدعيت معها.
* <code>[[Kotlin/kotlin.text/substringBefore|substringBefore()]]</code>: تعيد  الدالة <code>substringBefore()‎</code> جزءًا من [[Kotlin/String|السلسلة النصية]] التي استُدعيت عبرها والمُتواجد قبل أول ظهور للمُحدِّد <code>delimiter،</code> إن لم تكن [[Kotlin/String|السلسلة النصية]] الأصلية تحتوي <code>delimiter</code>، فستعيد القيمة المُمرّرة <code>missingDelimiterValue</code>، والتي قيمتها الافتراضية هي [[Kotlin/String|السلسلة النصية]] الأصلية. 
* الدالة <code>[[Kotlin/kotlin.text/trimStart|trimStart()]]</code>: تحذف المحارف المحققة لشرط معين، أو محارف محددة، أو المسافات الفارغة من بداية [[Kotlin/CharSequence|سلسلة المحارف]] أو [[Kotlin/String|السلسلة النصية]] التي استُدعيت معها.
 
* الدالة <code>[[Kotlin/kotlin.text/trimIndent|trimIndent()‎]]</code>: تبحث عن أقل مسافة بادئة (minimal indent) مشتركة بين جميع أسطر [[Kotlin/String|السلسلة النصية]] التي استُدعيت معها، ثم تحذفها من كل الأسطر، وتحذف أيضًا السطر الأول والأخير إن كانا فارغين.
* <code>[[Kotlin/kotlin.text/removeSuffix|removeSuffix()]]</code>: إن كانت [[Kotlin/String|السلسلة النصية]] أو [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استٌدعيت عبرها الدالة <code>removeSuffix()‎</code> تنتهي باللاحقة <code>suffix</code> فستعيد [[Kotlin/String|سلسلة نصية]] أو [[Kotlin/CharSequence/index|سلسلة حروف]] جديدة مع حذف تلك اللاحقة، وإلا فستعيد [[Kotlin/String|السلسلة النصية]] أو [[Kotlin/CharSequence/index|سلسلة الحروف]] كما هي. 
* الدالة <code>[[Kotlin/kotlin.text/trimMargin|trimMargin()]]</code>: تحذف جميع المحارف البيضاء البادئة المتبوعة بقيمة محددة من جميع أسطر [[Kotlin/String|السلسلة النصية]] التي استُدعيت معها، كما تحذف السطر الأول والأخير إن كانا فارغين.
* <code>[[Kotlin/kotlin.text/slice|slice()]]</code>: تعيد الدالة <code>slice()‎</code> [[Kotlin/CharSequence/index|سلسلة حروف]] أو [[Kotlin/String|سلسلة نصية]] جديدة تحتوي الحروف التي تنتمي فهارسها إلى الوسيط المُمرر. 
* الدالة <code>[[Kotlin/kotlin.text/removeSurrounding|removeSurrounding()‎]]</code>: تحذف بادئة ولاحقة محددتين من <nowiki/>[[Kotlin/CharSequence|سلسلة من المحارف]] أو سلسلة نصية.
* الدالة <code>[[Kotlin/kotlin.text/subSequence|subSequence()]]</code> : تعيد جزءًا محددًا من <nowiki/>[[Kotlin/CharSequence/index|سلسلة المحارف]] التي استُدعيت معها.


==مصادر==
==مصادر==
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/substring.html الدالة text.trim()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/trim.html الدالة trim()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
[[تصنيف:Kotlin Function]]
[[تصنيف:Kotlin Text]]

المراجعة الحالية بتاريخ 12:54، 6 سبتمبر 2018

تحذف الدالة trim()‎ المحارف المحققة لشرط معين، أو محارف محددة، أو المسافات الفارغة من بداية ونهاية سلسلة المحارف أو السلسلة النصية التي استُدعيت معها.

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

inline fun CharSequence.trim(
    predicate: (Char) -> Boolean
): CharSequence 

inline fun String.trim(predicate: (Char) -> Boolean): String 

fun CharSequence.trim(vararg chars: Char): CharSequence 

fun String.trim(vararg chars: Char): String

fun CharSequence.trim(): CharSequence

inline fun String.trim(): String

يُلاحَظ وجود الكلمة المفتاحية inline للدلالة على أن هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)).

المعاملات

predicate

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

chars

المحارف المراد حذفها من بداية ونهاية سلسلة المحارف أو السلسلة النصية المعطاة.

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

تعاد سلسلة من المحارف أو سلسلة نصية تحوي جميع محارف سلسلة المحارف أو السلسلة النصية المعطاة باستثناء المحارف المحققة للشرط predicate، أو المحارف chars، أو المسافات الفارغة (إن لم يمرر أي معامل) الموجودة في بدايتها ونهايتها.

أمثلة

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

fun main(args: Array<String>) {
    println("    hsoub   ".trim()) // hsoub
    println("++++hsoub......".trim { !it.isLetter() }) // hsoub
}

انظر أيضًا

مصادر