Tässä opetusohjelmassa opit merkkien ja merkkijonojen käytöstä Swiftissä. Opit myös erilaisia toimintoja, jotka voidaan suorittaa merkkijonoille ja merkeille.
Mikä on merkki?
Merkki on yksittäinen symboli (kirjain, numero jne.). Nopeat merkit ovat Character
tyypiltään ja ilmoitetaan seuraavasti:
let someCharacter: Merkki
Kuinka julistaa ja määrittää merkki Swiftissä?
Voit määrittää arvon merkkityypissä samalla tavalla kuin merkkijono kaksoislainausmerkeillä, " "
mutta sen tulisi sisältää vain yksi merkki lainausmerkeissä " "
.
Jos haluat sisällyttää useita merkkejä, sinun on määritettävä se merkin String
sijaan Character
.
Esimerkki 1: Merkin ilmoittaminen ja määrittäminen
let someCharacter:Character = “H” let specialCharacter:Character = “@” print(someCharacter) print(specialCharacter)
Kun suoritat ohjelmaa, tulos on:
H @
Esimerkki 2: Useamman kuin yhden merkin määrittäminen (ei toimi)
Mutta jos yrität määrittää kaksi merkkiä merkin sisään nimellä
/* This will give an error Changing the type to String will fix it. */ let failableCharacter:Character = "H@" print(failableCharacter)
Kun yrität suorittaa yllä olevan koodin, saat virheilmoituksen:
String-tyypin arvoa ei voida muuntaa merkiksi.
Merkin luominen unicode- ja paeta-sekvenssin avulla
Voit myös luoda erityistyyppisiä merkkejä for.eg emojille käyttämällä unicodeja. Voit luoda unicoden käyttämällä pakosarjaa u (n) (unicode-koodipiste, n on heksadesimaaliluku).
Esimerkki 3: Unicode-merkin luominen
let heartShape:Character = "u(2665)" print(heartShape)
Kun suoritat ohjelmaa, tulos on:
♥
Yllä olevassa esimerkissä sydämen muotoinen merkki luotiin koodista U+2665
. Vaikka u(2665)
se sisältyy kaksoislainauksiin, kääntäjä ei käsittele sitä String
koska käytimme pakosarjaa u(n)
. Pakosarja ei edusta itseään, kun se sisältyy kirjaimiin.
Mikä on merkkijono?
Merkkijono on yksinkertaisesti kokoelma merkkejä. Swiftin jouset ovat String
tyypiltään ja ilmoitetaan seuraavasti:
anna someString: Merkkijono
Kuinka julistaa ja määrittää merkkijono Swiftissä?
Voit määrittää arvon merkkijonotyypissä käyttämällä merkkijono-literaaleja. Merkkijono-kirjain on kaksinkertaisten lainausten ympäröimä merkkikokoelma " "
.
Esimerkki 4: Merkkijonon ilmoittaminen ja määrittäminen
let someString:String = "Hello, world!" let someMessage = "I love Swift." print(someString) print(someMessage)
Kun suoritat ohjelmaa, tulos on:
Hei maailma! Rakastan Swiftia.
Täällä molemmat "Hello, world!"
ja "I love Swift."
ovat merkkijono literals käyttää luomaan merkkijonomuuttujia someString ja someMessage vastaavasti.
Toiminnot merkkijonolla
Stringissä on joitain sisäänrakennettuja toimintoja ja ominaisuuksia, jotka käsittelevät useimmin käytettyjä toimintoja. Esimerkiksi: jos haluat liittyä merkkijonoihin, muuta se isoksi tai isoksi. Tutkitaan seuraavia usein käytettyjä toimintoja:
Merkkijonovertailu
Voit yksinkertaisesti tarkistaa, ovatko kaksi merkkijonoa samanlaisia vai eivät, käyttämällä vertailuoperaattoria (==)
. Operaattori palauttaa palautukset, true
jos molemmat merkkijonot ovat samat, muuten se palaa false
.
Esimerkki 5: Merkkijonovertailu Swiftissä
let someString = "Hello, world!" let someMessage = "I love Swift." let someAnotherMessage = "Hello, world!" print(someString == someMessage) print(someString == someAnotherMessage)
Kun suoritat ohjelmaa, tulos on:
epätosi tosi
Merkkijono ketjutus
Kaksi erilaista merkkijonoa voidaan lisätä yhdessä lisäysoperaattorin kanssa (+)
tai käyttämällä yhdistämisoperaattoria (+=)
. Voit myös liittää merkkijonon merkkijonoon käyttämällä append
menetelmää.
Esimerkki 6: Merkkijonon ketjutus Swiftissä
let helloStr = "Hello, " let worldStr = "World" var result = helloStr + worldStr print(result) result.append("!") print(result)
Kun suoritat ohjelmaa, tulos on:
Hei, maailma Hei, maailma!
Edellä olevassa ohjelmassa loimme merkkijonotuloksen liittämällä helloStr ja worldStr + -operaattorilla. Joten, print(result)
tuottaa Hei, maailma näytöllä.
Voit myös liittää minkä tahansa merkin tai merkkijonon append
menetelmällä. result.append("!")
lisää !
merkin merkkijonon loppuun. Joten, print(result)
tuotokset Hei, maailma! näytöllä.
Merkkijono ketjutus edistyneellä määritysoperaattorilla
Voimme käyttää myös edistynyttä määritysoperaattoria (+ =) merkkijonon liittämiseen.
Esimerkki 7: Merkkijonon ketjutus operaattorilla + =
var helloStr = "Hello, " let worldStr = "World!" helloStr += worldStr print(helloStr)
Kun suoritat ohjelmaa, tulos on:
Hei maailma!
Huomaa var: n käyttö helloStr: n sijaan. Jos olet määrittänyt helloStr-vakion let-toiminnolla, et voi muuttaa sitä myöhemmin +=
operaattorilla ja saada lopulta virhe. Joten sinun on määritettävä helloStr-muuttuja.
Merkkijonointerpolaatio
Se on yksinkertainen prosessi merkkijonon kirjaimen arvioimiseksi, joka koostuu muuttujista, vakioista jne. Kuvittele, että pelaajan nimi ja pisteet on tallennettu kahteen vakioon seuraavasti:
let playerName = "Jack" anna playerScore = 99
Nyt sinun on näytettävä soittimelle viesti "Onnittelut Jack !. Eniten pisteitäsi on 99." Tässä sinun on löydettävä tapa käyttää vakioiden arvoja yhdessä merkkijonossa.
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ämä toiminto määrittää, aloitetaanko merkkijono tietyillä merkeillä vai ei, ja palauttaa loogisen arvon. Se palaa, true
jos merkkijonon etuliite vastaa annettuja arvoja muuten false
.
Esimerkki 13: hasPrefix ()
let someString = "Hello, World!" print(someString.hasPrefix("Hell")) print(someString.hasPrefix("hell"))
Kun suoritat ohjelmaa, tulos on:
tosi väärä
6. hasSuffix
Tämä toiminto määrittää, päättyykö merkkijono tietyillä merkeillä vai ei, ja palauttaa loogisen arvon. Se palaa, true
jos merkkijonon jälkiliite vastaa annettuja arvoja muuten false
.
Esimerkki 14: hasSuffix ()
print(someString.hasSuffix("rld!")) print(someString.hasSuffix("Rld!"))
Kun suoritat ohjelmaa, tulos on:
tosi väärä