Бързи символи и низове (с примери)

В този урок ще научите за използването на символи и низове в Swift. Ще научите и различни операции, които могат да се извършват върху низове и символи.

Какво е герой?

Символът е единичен символ (буква, цифра и т.н.). Символите в бързи са от Characterтип и се декларират като:

 let someCharacter: Character

Как да декларирам и присвоя характер в Swift?

Можете да присвоите стойност в тип символ, същата като String, като използвате двойни кавички, " "но тя трябва да съдържа само един знак вътре в кавичките " ".

Ако трябва да включите повече от един знак, трябва да го дефинирате 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 в символ.

Създаване на символ с помощта на unicode и escape последователност

Можете също така да създадете специален тип знаци за например емотикони, като използвате unicodes. Можете да създадете unicode, като използвате екранираща последователност u (n) (unicode кодова точка, 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) 

Когато стартирате програмата, изходът ще бъде:

 false false

Конкатенация на низове

Две различни стойности на низовете могат да бъдат добавени заедно с оператора за добавяне (+)или с помощта на съставния оператор за присвояване (+=). Можете също да добавите символ / низ в низ, използвайки 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 = "Jack" нека 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!")) 

Когато стартирате програмата, изходът ще бъде:

 вярно невярно 

Интересни статии...