În acest tutorial, veți afla despre utilizarea caracterelor și șirurilor în Swift. De asemenea, veți învăța diferite operații care pot fi efectuate pe șiruri și caractere.
Ce este un personaj?
Un caracter este un singur simbol (literă, număr etc.). Caracterul rapid este de Character
tip și este declarat ca:
lasa uniiCaracter: Personaj
Cum să declarați și să atribuiți un personaj în Swift?
Puteți atribui valoare în tipul de caracter la fel ca Șirul folosind ghilimele duble, " "
dar ar trebui să conțină doar un singur caracter în ghilimele " "
.
Dacă trebuie să includeți mai multe personaje, trebuie să le definiți în String
loc de Character
.
Exemplul 1: declararea și atribuirea unui caracter
let someCharacter:Character = “H” let specialCharacter:Character = “@” print(someCharacter) print(specialCharacter)
Când rulați programul, ieșirea va fi:
H @
Exemplul 2: Atribuirea mai multor caractere (nu funcționează)
Dar dacă încercați să atribuiți două simboluri în interiorul caracterului ca
/* This will give an error Changing the type to String will fix it. */ let failableCharacter:Character = "H@" print(failableCharacter)
Când încercați să rulați codul de mai sus, veți primi o eroare ca:
Nu se poate converti valoarea de tip String în Character.
Crearea personajului folosind unicode și secvența de evadare
De asemenea, puteți crea un tip special de caractere pentru .eg emoji folosind unicode. Puteți crea un unicode folosind secvența de evacuare u (n) (punct de cod unicode, n este în hexazecimal).
Exemplul 3: Crearea unui caracter unicode
let heartShape:Character = "u(2665)" print(heartShape)
Când rulați programul, ieșirea va fi:
♥
În exemplul de mai sus, un caracter de formă de inimă a fost creat din cod U+2665
. Deși u(2665)
este inclus în ghilimele duble, compilatorul nu îl tratează ca pe un String
deoarece am folosit secvența de evacuare u(n)
. O secvență de evadare nu se reprezintă atunci când este inclusă în literal.
Ce este un șir?
Un șir este pur și simplu o colecție de caractere. Șirurile din Swift sunt de String
tip și declarate ca:
lasă someString: String
Cum să declarați și să atribuiți un șir în Swift?
Puteți atribui valoare în tipul String folosind literele șirului. Un șir literal este o colecție de caractere înconjurate de ghilimele duble " "
.
Exemplul 4: Declararea și atribuirea unui șir
let someString:String = "Hello, world!" let someMessage = "I love Swift." print(someString) print(someMessage)
Când rulați programul, ieșirea va fi:
Salut Lume! Îl iubesc pe Swift.
Aici, ambele "Hello, world!"
și "I love Swift."
sunt literele de șir utilizate pentru a crea variabile de șir someString și respectiv someMessage.
Operații pe un șir
Există unele funcții și proprietăți încorporate în String pentru a face față operațiilor utilizate cel mai frecvent. De exemplu: pentru a uni șiruri, schimbați-l cu majuscule sau majuscule. Să explorăm mai jos câteva operații frecvent utilizate:
Comparație șir
Puteți verifica pur și simplu dacă două șiruri sunt egale sau nu folosind operatorul de comparație (==)
. Operatorul returnează returnează true
dacă ambele șiruri sunt egale, altfel revine false
.
Exemplul 5: comparație șir în Swift
let someString = "Hello, world!" let someMessage = "I love Swift." let someAnotherMessage = "Hello, world!" print(someString == someMessage) print(someString == someAnotherMessage)
Când rulați programul, ieșirea va fi:
fals adevarat
Concatenarea șirului
Se pot adăuga două valori de șiruri diferite împreună cu operatorul de adăugare (+)
sau folosind operatorul de atribuire compusă (+=)
. De asemenea, puteți adăuga un caracter / șir într-un șir folosind append
metoda.
Exemplul 6: concatenarea șirurilor în Swift
let helloStr = "Hello, " let worldStr = "World" var result = helloStr + worldStr print(result) result.append("!") print(result)
Când rulați programul, ieșirea va fi:
Bună, Lumea Bună, Lumea!
În programul de mai sus am creat un rezultat șir prin adăugarea helloStr și worldStr folosind operatorul +. Deci, print(result)
rezultă Hello, World pe ecran.
De asemenea, puteți adăuga orice caracter sau șir folosind append
metoda. result.append("!")
adaugă un !
caracter la sfârșitul șirului. Deci, print(result)
rezultate Bună ziua, lume! pe ecran.
Concatenarea șirurilor utilizând un operator de atribuire avansat
We can also use advanced assignment operator (+=) to append string.
Example 7: String concatenation using += operator
var helloStr = "Hello, " let worldStr = "World!" helloStr += worldStr print(helloStr)
When you run the program, the output will be:
Hello, World!
Notice the use of var instead of let in helloStr. If you have defined helloStr a constant using let, you cannot change it later using the +=
operator and eventually get an error. So, you have to define helloStr a variable.
String Interpolation
It is a simple process of evaluating a string literal that consists of variables, constants etc. Imagine you have player’s name and score stored in two constants as:
let playerName = "Jack" let playerScore = 99
Now you need to display a message to the player as "Congratulations Jack!. Your highest score is 99." Here, you need to a way to use the values of the constants in a single string.
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
Această funcție determină dacă un șir începe sau nu cu anumite caractere și returnează o valoare booleană. Se întoarce true
dacă prefixul șirului se potrivește cu valoarea furnizată, altfel se întoarce false
.
Exemplul 13: hasPrefix ()
let someString = "Hello, World!" print(someString.hasPrefix("Hell")) print(someString.hasPrefix("hell"))
Când rulați programul, ieșirea va fi:
adevarat fals
6. hasSuffix
Această funcție determină dacă un șir se termină sau nu cu anumite caractere și returnează o valoare booleană. Se întoarce true
dacă sufixul șir se potrivește cu valoarea furnizată altfel se întoarce false
.
Exemplul 14: hasSuffix ()
print(someString.hasSuffix("rld!")) print(someString.hasSuffix("Rld!"))
Când rulați programul, ieșirea va fi:
adevarat fals