V tomto výučbe sa dozviete o používaní znakov a reťazcov v aplikácii Swift. Dozviete sa tiež rôzne operácie, ktoré je možné vykonať s reťazcami a znakmi.
Čo je to postava?
Znak je jeden symbol (písmeno, číslo atď.). Rýchle znaky sú Character
typu a sú deklarované ako:
let someCharacter: Character
Ako deklarovať a priradiť znak v Swifte?
Hodnotu môžete priraďovať rovnakým typom znakov ako reťazec pomocou dvojitých úvodzoviek " "
, mala by však obsahovať iba jeden znak v úvodzovkách " "
.
Ak potrebujete zahrnúť viac ako jeden znak, musíte ho definovať String
namiesto Character
.
Príklad 1: Vyhlásenie a priradenie znaku
let someCharacter:Character = “H” let specialCharacter:Character = “@” print(someCharacter) print(specialCharacter)
Po spustení programu bude výstup:
H @
Príklad 2: Priradenie viac ako jedného znaku (nefunguje)
Ale ak sa pokúsite priradiť dva symboly k znaku ako
/* This will give an error Changing the type to String will fix it. */ let failableCharacter:Character = "H@" print(failableCharacter)
Pri pokuse o spustenie vyššie uvedeného kódu sa zobrazí chyba ako:
Hodnotu typu String nemožno previesť na znak.
Vytváranie znakov pomocou unicode a úniková sekvencia
Môžete tiež vytvoriť špeciálny typ znakov, napríklad emodži pomocou unicode. Unicode môžete vytvoriť pomocou únikovej sekvencie u (n) (bod kódu Unicode, n je v šestnástkovej sústave).
Príklad 3: Vytvorenie znaku unicode
let heartShape:Character = "u(2665)" print(heartShape)
Po spustení programu bude výstup:
♥
Vo vyššie uvedenom príklade bol znak tvaru srdca vytvorený z kódu U+2665
. Aj keď u(2665)
je to zahrnuté v úvodzovkách, kompilátor to nepovažuje za a, String
pretože sme použili únikovú postupnosť u(n)
. Úniková sekvencia sa nereprezentuje, ak je uvedená v doslovnom znení.
Čo je to reťazec?
Reťazec je jednoducho zbierka znakov. Reťazce v Swift sú String
typu a deklarované ako:
nech someString: String
Ako deklarovať a priradiť reťazec v Swifte?
Hodnotu v type String môžete priradiť pomocou reťazcových literálov. Reťazcový literál je súbor znakov obklopených dvojitými úvodzovkami " "
.
Príklad 4: Vyhlásenie a priradenie reťazca
let someString:String = "Hello, world!" let someMessage = "I love Swift." print(someString) print(someMessage)
Po spustení programu bude výstup:
Ahoj, svet! Milujem Swift.
Tu sú oba "Hello, world!"
a "I love Swift."
sú reťazcovými literálmi používanými na vytváranie reťazcových premenných someString a someMessage.
Operácie na reťazci
V reťazci sú niektoré zabudované funkcie a vlastnosti, ktoré slúžia na prácu s najčastejšie používanými operáciami. Napríklad: ak chcete spojiť reťazce, zmeňte to na veľké písmená alebo veľké písmená. Pozrime sa na niektoré často používané operácie uvedené nižšie:
Porovnanie reťazcov
Pomocou operátora porovnania môžete jednoducho skontrolovať, či sú dva reťazce rovnaké alebo nie (==)
. Operátor vráti návraty, true
ak sú obidva reťazce rovnaké, inak sa vráti false
.
Príklad 5: Porovnanie reťazcov v Swifte
let someString = "Hello, world!" let someMessage = "I love Swift." let someAnotherMessage = "Hello, world!" print(someString == someMessage) print(someString == someAnotherMessage)
Po spustení programu bude výstup:
nepravda pravda
Zreťazenie reťazca
Dva rôzne reťazce môžu byť pridané spolu s operátorom pridania (+)
alebo pomocou operátora zloženého priradenia (+=)
. Znak / reťazec môžete do reťazca pridať aj pomocou append
metódy.
Príklad 6: Zreťazenie reťazcov v Swifte
let helloStr = "Hello, " let worldStr = "World" var result = helloStr + worldStr print(result) result.append("!") print(result)
Po spustení programu bude výstup:
Ahoj, svet Ahoj, svet!
Vo vyššie uvedenom programe sme vytvorili reťazcový výsledok pripojením operátorov + helloStr a worldStr. Takže, print(result)
výstupy Hello, World na obrazovke.
Môžete tiež pridať ľubovoľný znak alebo reťazec pomocou append
metódy. result.append("!")
pripojí !
znak na koniec reťazca. Takže print(result)
výstupy Hello, World! na obrazovke.
Zreťazenie reťazcov pomocou operátora pokročilého priradenia
Na pripojenie reťazca môžeme použiť aj operátor pokročilého priradenia (+ =).
Príklad 7: Zreťazenie reťazcov pomocou operátora + =
var helloStr = "Hello, " let worldStr = "World!" helloStr += worldStr print(helloStr)
Po spustení programu bude výstup:
Ahoj, svet!
Všimnite si použitie varu namiesto vpustenia helloStr. Ak ste definovali konštantu helloStr pomocou let, nemôžete ju neskôr zmeniť pomocou +=
operátora a nakoniec sa zobrazí chyba. Musíte teda definovať premennú helloStr.
Reťazcová interpolácia
Jedná sa o jednoduchý proces vyhodnotenia reťazcového literálu, ktorý sa skladá z premenných, konštánt atď. Predstavte si, že máte meno hráča a skóre uložené v dvoch konštantách ako:
nechať playerName = "Jack" nechať playerScore = 99
Teraz musíte hráčovi zobraziť správu ako „Gratulujeme, Jacku! Vaše najvyššie skóre je 99.“ Tu potrebujete spôsob, ako použiť hodnoty konštánt v jednom reťazci.
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
Táto funkcia určuje, či reťazec začína určitými znakmi alebo nie, a vráti boolovskú hodnotu. Vráti sa, true
ak sa predpona reťazca zhoduje s poskytnutou hodnotou, inak sa vráti false
.
Príklad 13: hasPrefix ()
let someString = "Hello, World!" print(someString.hasPrefix("Hell")) print(someString.hasPrefix("hell"))
Po spustení programu bude výstup:
pravda lož
6. hasSuffix
Táto funkcia určuje, či reťazec končí alebo nie, a vráti boolovskú hodnotu. Vráti sa, true
ak sa prípona reťazca zhoduje s poskytnutou hodnotou, inak sa vráti false
.
Príklad 14: hasSuffix ()
print(someString.hasSuffix("rld!")) print(someString.hasSuffix("Rld!"))
Po spustení programu bude výstup:
pravda lož