Швидкі символи та рядки (з прикладами)

У цьому підручнику ви дізнаєтесь про використання символів та рядків у Swift. Ви також вивчите різні операції, які можна виконувати над рядками та символами.

Що таке персонаж?

Символ - це окремий символ (буква, цифра тощо). Символи в swift мають Characterтип і оголошуються як:

 let someCharacter: Character

Як оголосити та призначити персонажа в Swift?

Ви можете призначити значення типу символів так само, як рядок, використовуючи подвійні лапки, " "але воно повинно містити лише один символ усередині лапок " ".

Якщо вам потрібно включити більше одного символу, вам потрібно визначити його Stringзамість Character.

Приклад 1: Оголошення та присвоєння символу

 let someCharacter:Character = “H” let specialCharacter:Character = “@” print(someCharacter) print(specialCharacter)

Коли ви запускаєте програму, результат буде:

 H @

Приклад 2: Призначення декількох символів (не працює)

Але якщо ви спробуєте призначити два символи всередині символу як

 /* This will give an error Changing the type to String will fix it. */ let failableCharacter:Character = "H@" print(failableCharacter) 

При спробі запустити наведений вище код ви отримаєте повідомлення про помилку:

 Неможливо перетворити значення типу String у символ.

Створення символів за допомогою унікоду та послідовності екранування

Ви також можете створити спеціальний тип символів для, наприклад, смайликів, використовуючи унікоди. Ви можете створити юнікод, використовуючи послідовність екрану u (n) (кодова точка Юнікоду, n - у шістнадцятковій системі).

Приклад 3: Створення символу Unicode

 let heartShape:Character = "u(2665)" print(heartShape) 

Коли ви запускаєте програму, результат буде:

У наведеному вище прикладі символ форми серця був створений з коду U+2665. Незважаючи на те, що u(2665)він включений у подвійні лапки, компілятор не трактує це як так, Stringтому що ми використовували послідовність входів u(n). Екранна послідовність не представляє себе при включенні в літерал.

Що таке струна?

Рядок - це просто сукупність символів. Рядки в Swift мають Stringтип і оголошуються як:

 let someString: String

Як оголосити та призначити рядок у Swift?

Ви можете призначити значення типу String за допомогою рядкових літералів. Рядковий літерал - це набір символів, оточений подвійними лапками " ".

Приклад 4: Оголошення та присвоєння рядка

 let someString:String = "Hello, world!" let someMessage = "I love Swift." print(someString) print(someMessage)

Коли ви запускаєте програму, результат буде:

Привіт Світ! Я люблю Свіфта.

Тут обидва "Hello, world!"і "I love Swift."є рядковими літералами, що використовуються для створення рядкових змінних someString та someMessage відповідно.

Операції над рядком

У String є деякі вбудовані функції та властивості для роботи з найбільш часто використовуваними операціями. Наприклад: щоб об’єднати рядки, змініть його на великі регістри або напишіть великими літерами. Давайте розглянемо деякі часто використовувані операції нижче:

Порівняння рядків

Ви можете просто перевірити, чи рівні два рядки чи ні, за допомогою оператора порівняння (==). Оператор повертає повертається, trueякщо обидва рядки рівні, інакше він повертається false.

Приклад 5: Порівняння рядків у Swift

 let someString = "Hello, world!" let someMessage = "I love Swift." let someAnotherMessage = "Hello, world!" print(someString == someMessage) print(someString == someAnotherMessage) 

Коли ви запускаєте програму, результат буде:

 хибно істинно

Конкатенація рядків

Два різні значення рядків можуть бути додані разом з оператором додавання (+)або за допомогою складеного оператора присвоєння (+=). Ви також можете додати символ / рядок у рядок, використовуючи appendметод.

Приклад 6: Об’єднання рядків у Swift

 let helloStr = "Hello, " let worldStr = "World" var result = helloStr + worldStr print(result) result.append("!") print(result) 

Коли ви запускаєте програму, результат буде:

 Привіт, Світ Привіт, Світ!

У наведеній вище програмі ми створили результат рядка , додавши helloStr та worldStr за допомогою оператора +. Отже, на екрані print(result)виводиться Hello, World .

Ви також можете додати будь-який символ або рядок, використовуючи appendметод. result.append("!")додає !символ у кінці рядка. Отже, print(result)виходи Привіт, Світе! на екрані.

Конкатенація рядків за допомогою розширеного оператора присвоєння

Ми також можемо використовувати розширений оператор присвоєння (+ =) для додавання рядка.

Приклад 7: Об’єднання рядків за допомогою оператора + =

 var helloStr = "Hello, " let worldStr = "World!" helloStr += worldStr print(helloStr) 

Коли ви запускаєте програму, результат буде:

 Привіт Світ!

Зверніть увагу на використання var замість let in helloStr. Якщо ви визначили helloStr константу, використовуючи let, ви не зможете змінити її пізніше, використовуючи +=оператор, і врешті-решт отримаєте помилку. Отже, вам потрібно визначити helloStr змінну.

Інтерполяція рядка

Це простий процес оцінки рядкового літералу, який складається із змінних, констант тощо. Уявіть, що у вас є ім'я гравця та рахунок, збережений у двох константах як:

 let playerName = "Джек" нехай playerScore = 99

Тепер вам потрібно вивести гравцеві повідомлення як "Вітаємо Джек!. Ваш найвищий результат - 99" Тут вам потрібен спосіб використання значень констант в одному рядку.

This can be achieved using string concatenation as:

 let congratsMessage = "Congratulations " + playerName + "!. Your highest score is " + playerScore + "." print(congratsMessage)

However, you can see this can get messy pretty soon. You have to take care of the spaces after the word Congratulations, is. Also, if you have to use more than two constants/variables, it will get unreadable.

There’s an easier way to display the message using string interpolation. Interpolation is the process to include value of a variable or constant inside string literal.

The variable or constant that should insert into the string literal is wrapped in a pair of parentheses ( ), prefixed by a backslash ().

Example 8: String interpolation in Swift

 let playerName = "Jack" let playerScore = 99 let congratsMessage = "Congratulations (playerName)!. Your highest score is (playerScore)." print(congratsMessage) 

When you run the program, the output will be:

 Congratulations Jack!. Your highest score is 99.

Some helpful built-in String functions & variables:

1. isEmpty

This function determines if a string is empty or not. It returns true if the string is empty otherwise, it returns false.

Example 9: isEmpty

 var emptyString = "" print(emptyString.isEmpty) 

When you run the program, the output will be:

 true

2. capitalized

This property is used to capitalize every word in a string.

Example 10: capitalized

 let someString = "hello, world!" print(someString.capitalized) 

When you run the program, the output will be:

 Hello, World!

3. uppercased and lowercased

The uppercased function converts string to uppercase letter and the lowercased function converts string to lowercase letter.

Example 11: uppercased() and lowercased()

 let someString = "Hello, World!" print(someString.uppercased()) print(someString.lowercased()) 

When you run the program, the output will be:

 HELLO, WORLD! hello, world!

4. Length/count

This property is used to count the total number of characters in a string.

Example 12: count

 let someString = "Hello, World!" print(someString.count) 

When you run the program, the output will be:

 13

5. hasPrefix

Ця функція визначає, починається рядок з певних символів чи ні, і повертає логічне значення. Він повертається, trueякщо префікс рядка збігається із вказаним значенням, інакше повертається false.

Приклад 13: hasPrefix ()

 let someString = "Hello, World!" print(someString.hasPrefix("Hell")) print(someString.hasPrefix("hell")) 

Коли ви запускаєте програму, результат буде:

 правда помилково 

6. hasSuffix

Ця функція визначає, закінчується рядок певними символами чи ні, і повертає логічне значення. Він повертається, trueякщо суфікс рядка збігається із вказаним значенням, інакше повертається false.

Приклад 14: hasSuffix ()

 print(someString.hasSuffix("rld!")) print(someString.hasSuffix("Rld!")) 

Коли ви запускаєте програму, результат буде:

 правда помилково 

Цікаві статті...