Caractere și șiruri rapide (cu exemple)

Î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 Charactertip ș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 Stringloc 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 Stringdeoarece 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 Stringtip ș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ă truedacă 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 appendmetoda.

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 appendmetoda. 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 truedacă 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 truedacă 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 

Articole interesante...