Hitri znaki in nizi (z primeri)

V tej vadnici boste izvedeli več o uporabi znakov in nizov v Swiftu. Naučili se boste tudi različnih operacij, ki jih je mogoče izvajati na nizih in znakih.

Kaj je lik?

Znak je en sam simbol (črka, številka itd.). Znaki v hitrem so Charactertipa in so navedeni kot:

 let someCharacter: Znak

Kako prijaviti in dodeliti znak v Swiftu?

V vrsti znakov lahko dodelite vrednost, enako kot String, z dvojnimi narekovaji, " "vendar mora vsebovati samo en znak znotraj narekovajev " ".

Če morate vključiti več kot en znak, ga morate Stringnamesto tega določiti Character.

Primer 1: prijava in dodelitev znaka

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

Ko zaženete program, bo rezultat:

 H @

Primer 2: Dodelitev več kot enega znaka (ne deluje)

Ampak, če poskušate znotraj znaka dodeliti dva simbola kot

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

Ko poskusite zagnati zgornjo kodo, se prikaže napaka:

 Vrednosti vrste String ni mogoče pretvoriti v znak.

Ustvarjanje znakov z uporabo unicode in ubežnega zaporedja

S pomočjo unicodes lahko ustvarite tudi posebno vrsto znakov za npr. Emoji. Unicode lahko ustvarite z ubežnim zaporedjem u (n) (kodna točka unicode, n je v šestnajstiški).

Primer 3: Ustvarjanje znaka unicode

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

Ko zaženete program, bo rezultat:

V zgornjem primeru je bil iz kode ustvarjen lik v obliki srca U+2665. Čeprav u(2665)je vključen v dvojne narekovaje, ga prevajalnik ne obravnava kot Stringzato, ker smo uporabili ubežno zaporedje u(n). Ubežno zaporedje se ne predstavlja, če je vključeno v dobesedno.

Kaj je niz?

Niz je preprosto zbirka znakov. Strune v Swiftu so Stringvrste in so razglašene kot:

 let someString: String

Kako razglasiti in dodeliti niz v Swiftu?

Vrednost v vrsti String lahko dodelite z uporabo nizovnih literal. Niz nizov je zbirka znakov, obdana z dvojnimi narekovaji " ".

Primer 4: Izjava in dodelitev niza

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

Ko zaženete program, bo rezultat:

Pozdravljen, svet! Obožujem Swifta.

Tu sta obe "Hello, world!"in "I love Swift."nizni literali, ki se uporabljajo za ustvarjanje nizovnih spremenljivk someString oziroma someMessage.

Operacije na nizu

V Stringu je nekaj vgrajenih funkcij in lastnosti za obravnavanje najpogosteje uporabljenih operacij. Na primer: če želite združiti nize, jih spremenite v velike ali velike začetnice. Spodaj raziščimo nekaj pogosto uporabljenih operacij:

Primerjava nizov

Z operatorjem primerjave lahko preprosto preverite, ali sta dve nizi enaki ali ne (==). Operator vrne vrne, trueče sta oba niza enaka, sicer se vrne false.

Primer 5: Primerjava nizov v Swiftu

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

Ko zaženete program, bo rezultat:

 lažno res

Združevanje nizov

Dve različni vrednosti nizov lahko dodate skupaj z operatorjem seštevanja (+)ali z uporabo sestavljenega operatorja dodelitve (+=). Znak / niz lahko dodate tudi v niz z uporabo appendmetode.

Primer 6: Združevanje nizov v Swiftu

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

Ko zaženete program, bo rezultat:

 Pozdravljeni, svet Pozdravljeni, svet!

V zgornjem programu smo ustvarili rezultat niza z dodajanjem helloStr in worldStr z uporabo operatorja +. Torej, print(result)izhodi Zdravo, svet na zaslonu.

Z appendmetodo lahko dodate tudi kateri koli znak ali niz . result.append("!")doda !znak na koncu niza. Torej, print(result)rezultati Zdravo, svet! na zaslonu.

Združevanje nizov z uporabo naprednega operaterja dodelitve

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

Ta funkcija določa, ali se niz začne z določenimi znaki ali ne, in vrne logično vrednost. Vrne se, trueče se predpona niza ujema s podano vrednostjo, sicer se vrne false.

Primer 13: hasPrefix ()

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

Ko zaženete program, bo rezultat:

 pravilno napačno 

6. hasSuffix

Ta funkcija določa, ali se niz konča z določenimi znaki ali ne, in vrne logično vrednost. Vrne se, trueče se končnica niza ujema s podano vrednostjo, sicer se vrne false.

Primer 14: hasSuffix ()

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

Ko zaženete program, bo rezultat:

 pravilno napačno 

Zanimive Članki...