I denne vejledning lærer du om brug af tegn og strenge i Swift. Du lærer også forskellige operationer, der kan udføres på strenge og tegn.
Hvad er en karakter?
Et tegn er et enkelt symbol (bogstav, tal osv.). Karakter i hurtig er af Character
type og erklæres som:
lad nogleCharacter: Character
Hvordan erklærer og tildeler en karakter i Swift?
Du kan tildele værdi i tegntype, der er den samme som streng ved hjælp af dobbelt anførselstegn, " "
men den skal kun indeholde et enkelt tegn inde i anførselstegnene " "
.
Hvis du har brug for at inkludere mere end et tegn, skal du definere det i String
stedet for Character
.
Eksempel 1: Erklæring og tildeling af et tegn
let someCharacter:Character = “H” let specialCharacter:Character = “@” print(someCharacter) print(specialCharacter)
Når du kører programmet, vil output være:
H @
Eksempel 2: Tildeling af mere end et tegn (virker ikke)
Men hvis du prøver at tildele to symboler inde i tegnet som
/* This will give an error Changing the type to String will fix it. */ let failableCharacter:Character = "H@" print(failableCharacter)
Når du prøver at køre ovenstående kode, får du en fejl som:
Kan ikke konvertere værdien af typen String til Character.
Opretter karakter ved hjælp af unicode og escape-sekvens
Du kan også oprette en særlig type tegn til.eg emoji ved hjælp af unicodes. Du kan oprette en unicode ved hjælp af escape-sekvensen u (n) (unicode-kodepunkt, n er i hexadecimal).
Eksempel 3: Oprettelse af et unicode-tegn
let heartShape:Character = "u(2665)" print(heartShape)
Når du kører programmet, vil output være:
♥
I ovenstående eksempel blev der oprettet et hjerteformet tegn ud fra kode U+2665
. Selvom det u(2665)
er inkluderet i dobbelt anførselstegn, behandler kompilator det ikke som en String
fordi vi brugte escape-sekvens u(n)
. En flugtsekvens repræsenterer ikke sig selv, når den er inkluderet i bogstavelig.
Hvad er en streng?
En streng er simpelthen en samling af tegn. Strenge i Swift er af String
typen og erklæres som:
lad nogleString: String
Hvordan erklæres og tildeles en streng i Swift?
Du kan tildele værdi i strengtype ved hjælp af strenglitteraler. En streng bogstavelig er en samling af tegn omgivet af dobbelt anførselstegn " "
.
Eksempel 4: Erklæring og tildeling af en streng
let someString:String = "Hello, world!" let someMessage = "I love Swift." print(someString) print(someMessage)
Når du kører programmet, vil output være:
Hej Verden! Jeg elsker Swift.
Her er både "Hello, world!"
og "I love Swift."
strenglitteraler brugt til at oprette strengvariabler henholdsvis someString og someMessage.
Operationer på en streng
Der er nogle indbyggede funktioner og egenskaber i String til at håndtere de mest anvendte operationer. For eksempel: Hvis du vil sammenføje strenge, skal du ændre den til store bogstaver eller bruge store bogstaver. Lad os undersøge nogle ofte anvendte operationer nedenfor:
Strengsammenligning
Du kan blot kontrollere, om to strenge er ens eller ikke ved hjælp af sammenligningsoperator (==)
. Operatøren returnerer retur, true
hvis begge strenge er ens, ellers returnerer den false
.
Eksempel 5: Sammenligning af strenge i Swift
let someString = "Hello, world!" let someMessage = "I love Swift." let someAnotherMessage = "Hello, world!" print(someString == someMessage) print(someString == someAnotherMessage)
Når du kører programmet, vil output være:
falsk sandt
Strengsammenkædning
To forskellige strenge værdi kan tilføjes sammen med tilføjelsesoperatøren (+)
eller ved hjælp af sammensat tildelingsoperator (+=)
. Du kan også tilføje et tegn / en streng i en streng ved hjælp af append
metoden.
Eksempel 6: Strengsammenkædning i Swift
let helloStr = "Hello, " let worldStr = "World" var result = helloStr + worldStr print(result) result.append("!") print(result)
Når du kører programmet, vil output være:
Hej, Verden Hej, Verden!
I ovenstående program oprettede vi et strengresultat ved at tilføje helloStr og worldStr ved hjælp af + operator. Så print(result)
output Hello, World på skærmen.
Du kan også tilføje ethvert tegn eller streng ved hjælp af append
metoden. result.append("!")
tilføjer et !
tegn i slutningen af strengen. Så, print(result)
output Hej, Verden! på skærmen.
Strengsammenkædning ved hjælp af avanceret tildelingsoperator
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
Denne funktion bestemmer, om en streng starter med bestemte tegn eller ej og returnerer en boolsk værdi. Det returnerer, true
hvis strengpræfikset matcher den angivne værdi, ellers returneres false
.
Eksempel 13: hasPrefix ()
let someString = "Hello, World!" print(someString.hasPrefix("Hell")) print(someString.hasPrefix("hell"))
Når du kører programmet, vil output være:
sandt falsk
6. hasSuffix
Denne funktion bestemmer, om en streng slutter med bestemte tegn eller ej, og returnerer en boolsk værdi. Det returneres, true
hvis streng-suffikset matcher den angivne værdi, ellers returneres false
.
Eksempel 14: hasSuffix ()
print(someString.hasSuffix("rld!")) print(someString.hasSuffix("Rld!"))
Når du kører programmet, vil output være:
sandt falsk