248 lines
4.9 KiB
Markdown
248 lines
4.9 KiB
Markdown
---
|
||
title: Strings
|
||
localeTitle: سلاسل
|
||
---
|
||
# سلاسل
|
||
|
||
السلسلة هي نوع بيانات أساسي في لغة برمجة. يتم تمثيل `String` بالنوع `String` . سلاسل غير قابلة للتغيير. يحتوي Kotlin على واجهة برمجة تطبيقات غنية للعمل مع السلاسل.
|
||
|
||
### الاستخدام الأساسي
|
||
|
||
#### إعلان
|
||
|
||
```kotlin
|
||
// Explicit type declaration
|
||
var firstName : String = "Elon"
|
||
|
||
// or Implicit type declaration and will still compile
|
||
val lastName = "Musk"
|
||
```
|
||
|
||
بالإضافة إلى ذلك ، لاحظ استخدام نوع متغير `val` ، وهنا كيف تتصرف
|
||
|
||
```kotlin
|
||
firstName = "Mark" // can be changed
|
||
lastName = "Zuckerberg" // cannot be changed
|
||
lastName = 12 // Error: type mismatch
|
||
```
|
||
|
||
#### سلسلة سلسلة
|
||
|
||
تظهر في مقتطف الشفرة ، تمامًا مثل جافا ، إلحاق `Int` ستؤدي `String` إلى إخراج `String`
|
||
|
||
```kotlin
|
||
var str = "abc" + 1
|
||
println(str + "def")
|
||
```
|
||
|
||
انتاج:
|
||
|
||
```shell
|
||
abc1def
|
||
```
|
||
|
||
حتى بدون تحويل قيمة `Int` 1 إلى كائن `String` أولاً ، لا يزال الإخراج الناتج عبارة عن `String` .
|
||
|
||
#### سلسلة مع خطوط متعددة
|
||
|
||
يمكن للمبرمجين الإعلان عن متغيرات `String` مع أسطر متعددة باستخدام علامات اقتباس ثلاثية بدلاً من علامات الاقتباس المزدوجة
|
||
|
||
```kotlin
|
||
var str = """
|
||
This is line 1
|
||
This is line 2
|
||
This is line 3
|
||
"""
|
||
println(str)
|
||
```
|
||
|
||
انتاج:
|
||
|
||
` This is line 1
|
||
This is line 2
|
||
This is line 3
|
||
`
|
||
|
||
أو مع `.trimIndent()`
|
||
|
||
استخدام `trimIndent()` سيساعد بالإضافة إلى توفير تنسيق إخراج نظيف عن طريق إزالة indention الزائد و unrespour كل سطر. افحص مقتطف الشفرة أدناه:
|
||
|
||
```kotlin
|
||
var str = """
|
||
This is line 1
|
||
This is line 2
|
||
This is line 3
|
||
""".trimIndent()
|
||
println(str)
|
||
```
|
||
|
||
انتاج:
|
||
|
||
```shell
|
||
This is line 1
|
||
This is line 2
|
||
This is line 3
|
||
```
|
||
|
||
### الوصول إلى أحرف سلسلة
|
||
|
||
#### مؤشر الوصول
|
||
|
||
يمكن للمبرمجين الوصول إلى العناصر (الأحرف) لسلسلة باستخدام معامل الوصول إلى الفهرس:
|
||
|
||
```kotlin
|
||
var str = "Example"
|
||
println(str[2])
|
||
```
|
||
|
||
انتاج:
|
||
|
||
```shell
|
||
a
|
||
```
|
||
|
||
إنه مثل الوصول إلى عنصر من صفيف ، تحصل على:
|
||
|
||
```kotlin
|
||
var str = "Example"
|
||
println(str[9]) // Error: index out of bounds
|
||
```
|
||
|
||
#### تكرار عبر سلسلة
|
||
|
||
عناصر السلسلة هي أحرف يمكن الوصول إليها بواسطة عملية الفهرسة: `s[i]` .
|
||
|
||
```kotlin
|
||
var str = "Example"
|
||
for (c in str) {
|
||
println(c)
|
||
}
|
||
```
|
||
|
||
انتاج:
|
||
|
||
```shell
|
||
E
|
||
x
|
||
a
|
||
m
|
||
p
|
||
l
|
||
e
|
||
```
|
||
|
||
### ثبات سلسلة
|
||
|
||
تمامًا مثل جافا ، لا يمكنك تغيير العناصر الفردية `String`
|
||
|
||
```kotlin
|
||
var str = "Example"
|
||
str[2] = "b" // Error
|
||
```
|
||
|
||
#### إعادة تعيين قيم السلسلة
|
||
|
||
```kotlin
|
||
var str = "Example"
|
||
println(str)
|
||
str = "Example was changed"
|
||
println(str)
|
||
```
|
||
|
||
انتاج:
|
||
|
||
```shell
|
||
Example
|
||
Example was changed
|
||
```
|
||
|
||
### خصائص سلسلة
|
||
|
||
#### تحديد طول سلسلة
|
||
|
||
```kotlin
|
||
var str = "Example"
|
||
println(str.length)
|
||
```
|
||
|
||
انتاج:
|
||
|
||
```shell
|
||
7
|
||
```
|
||
|
||
### وظائف سلسلة
|
||
|
||
هذه بعض وظائف `String` الشائعة المتوفرة من إصدار Kotlin الحالي
|
||
|
||
### قارن ب
|
||
|
||
يقارن هذا الكائن بالعنصر المحدد للترتيب. يتم إرجاع الصفر إذا كان هذا الكائن مساويًا للكائن الآخر المحدد ، أو رقم سالب إذا كان أقل من رقم آخر ، أو رقم موجب إذا كان أكبر من الآخر.
|
||
|
||
```kotlin
|
||
var str = "Example"
|
||
var str2 = "Example123"
|
||
var str3 = "Example12345"
|
||
println(str.compareTo(str2))
|
||
println(str.compareTo(str3))
|
||
println(str3.compareTo(str))
|
||
println(str.compareTo("Example"))
|
||
```
|
||
|
||
انتاج:
|
||
|
||
```shell
|
||
-3
|
||
-5
|
||
5
|
||
0 # Equal
|
||
```
|
||
|
||
### يساوي
|
||
|
||
يشير إلى ما إذا كان كائن `String` يساوي تمامًا كائن `String` آخر
|
||
|
||
```kotlin
|
||
var str = "Example"
|
||
var str2 = "Example2"
|
||
println(str.equals("Example"))
|
||
println(str2.equals("Example"))
|
||
```
|
||
|
||
انتاج:
|
||
|
||
```shell
|
||
true
|
||
false
|
||
```
|
||
|
||
### احصل على
|
||
|
||
إرجاع الحرف في الفهرس المحدد في تسلسل الأحرف هذا.
|
||
|
||
"" كوتلن var str = "مثال" println (str.get (3))
|
||
|
||
```
|
||
Output:
|
||
```
|
||
|
||
الصدف م
|
||
|
||
```
|
||
### toString
|
||
|
||
Returns a string representation of the object.
|
||
```
|
||
|
||
kotlin println (9. toString () + 10) println (9 + 10)
|
||
|
||
```
|
||
Output:
|
||
```
|
||
|
||
الصدف "910" 19 \`\` \`
|
||
|
||
#### مصادر
|
||
|
||
* [Kotlin Basic Types](https://kotlinlang.org/docs/reference/basic-types.html)
|
||
* [مرجع سلسلة Kotlin](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) |