Published on

Swiftda Characters va Strings

Authors

Character — bu bitta belgidan iborat matnni ifodalovchi ma'lumot turi ("a", "@", "5" va hokazo).

Swiftda Character turidagi o'zgaruvchilarni yaratish uchun Character kalit so‘zidan foydalanamiz. Masalan:

var letter: Character

Bu yerda letter o'zgaruvchisi faqat bitta belgi saqlashi mumkin.

Character misol

// character o'zgaruvchi yaratish
var letter: Character = "H"
print(letter)  // H

var symbol: Character = "@"
print(symbol)  // @

Yuqoridagi misolda biz letter va symbol nomli ikkita Character o‘zgaruvchini yaratdik. Ularga mos ravishda "H" va "@" qiymatlari berilgan.

Character turidagi o‘zgaruvchiga bir nechta belgi ("abc") berilsa, xatolik yuz beradi.

// noto'g'ri: bir nechta belgi berilgan
let test: Character = "H@"
print(test)

// Xatolik:
// cannot convert value of type 'String' to specified type Character

String

Swift'da String matnli ma’lumotlarni saqlash uchun ishlatiladi.

String o‘zgaruvchi yaratish uchun String kalit so‘zidan foydalanamiz:

let name: String

Bu yerda name faqat matn (string) saqlashi mumkin.

String bir nechta belgilardan iborat bo‘lgani uchun uni belgilar ketma-ketligi deb ham ataydi.

Misol:

// string o'zgaruvchilar yaratish
let name: String = "Swift"
print(name)

let message = "I love Swift."
print(message)

Natija:

Swift
I love Swift.

let message = "I love Swift." satrida String kalit so‘zi ishlatilmagan. Chunki Swift qiymatga qarab o‘zgaruvchi turini o‘zi aniqlaydi.

Swift’da stringlar va characterlar ikki tirnoq (" ") bilan yoziladi.

String amallari

Swift String turi matn bilan ishlash uchun ko‘plab funksiyalarni taqdim etadi.

1. Ikki stringni solishtirish

== operatori ikki string teng bo‘lsa true, teng bo‘lmasa false qaytaradi.

let str1 = "Hello, world!"
let str2 = "I love Swift."
let str3 = "Hello, world!"

print(str1 == str2)
print(str1 == str3)

Natija:

false
true

2. Ikki stringni qo‘shish

Stringlarni birlashtirish uchun append() metodidan foydalanish mumkin.

var greet = "Hello "
var name = "Jack"

greet.append(name)
print(greet)

Natija:

Hello Jack

+ va += bilan qo‘shish

var greet = "Hello, "
let name = "Jack"

var result = greet + name
print(result)

greet += name
print(greet)

Natija:

Hello, Jack
Hello, Jack

greet let bo‘lsa, += ishlamaydi, chunki u qiymatni o‘zgartiradi.

3. String uzunligini aniqlash

String uzunligini olish uchun .count xususiyati ishlatiladi:

let message = "Hello, World!"
print(message.count) // 13

.count` bo‘sh joylarni ham hisobga oladi.

Boshqa foydali funksiyalar

FunksiyaTa'rif
isEmptyString bo‘sh yoki bo‘sh emasligini tekshiradi
capitalizedHar bir so‘zning bosh harfini katta qiladi
uppercased()Barcha harflarni katta qiladi
lowercased()Barcha harflarni kichik qiladi
hasPrefix()Matn ma'lum belgilar bilan boshlanishini tekshiradi
hasSuffix()Matn ma'lum belgilar bilan tugashini tekshiradi

Escape sequences

Escape-sequence’lar string ichida maxsus belgilarni yozish uchun ishlatiladi.

Masalan, string ichida qo‘shtirnoq ishlatmoqchi bo‘lsak:

var example = "This is "String" class"

Bu xato beradi.

To‘g‘ri yechim — \ ishlatish:

var example = "This is \"String\" class"
print(example)

Natija:

This is "String" class
EscapeMa'nosi
\0null
\\backslash
\tgorizontal tab
\nyangi qatordan davom etish
\"qo‘shtirnoq

String interpolatsiyasi

\() yordamida o‘zgaruvchini string ichida ishlatish mumkin:

let name = "Swift"
var message = "This is \(name) programming."
print(message)

Natija:

This is Swift programming.

Bu jarayon string interpolatsiyasi deyiladi.

Ko‘p qatorli string (Multiline String)

Stringni bir nechta qatorda yozish uchun """ ishlatiladi:

var str: String = """
Swift is awesome
I love Swift
"""

print(str)

Natija:

Swift is awesome
I love Swift

Multiline string yangi qatordan boshlanishi shart.

Noto‘g‘ri misol:

var str = """Swift
I love Swift
"""

String obyekt yaratish

Stringni bo‘sh holda ham yaratish mumkin:

var str = String()

Bu usul bo‘sh string yaratadi.