I denne opplæringen lærer du om bruk av tegn og strenger i Swift. Du lærer også forskjellige operasjoner som kan utføres på strenger og tegn.
Hva er en karakter?
Et tegn er et enkelt symbol (bokstav, tall osv.). Karakter i rask er av Character
type og er erklært som:
la noenCharacter: Character
Hvordan erklære og tildele et tegn i Swift?
Du kan tilordne verdi i tegntype som String ved bruk av doble anførselstegn, " "
men den skal bare inneholde et enkelt tegn inne i anførselstegnene " "
.
Hvis du trenger å inkludere mer enn ett tegn, må du definere det i String
stedet for Character
.
Eksempel 1: Deklarere og tildele et tegn
let someCharacter:Character = “H” let specialCharacter:Character = “@” print(someCharacter) print(specialCharacter)
Når du kjører programmet, vil utdataene være:
H @
Eksempel 2: Tilordne mer enn ett tegn (Fungerer ikke)
Men hvis du prøver å tilordne to symboler i karakteren 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 å kjøre ovennevnte kode, får du en feil som:
Kan ikke konvertere verdien av typen String til Character.
Opprette karakter ved hjelp av unicode og escape-sekvens
Du kan også lage spesielle typer tegn for.eg emoji ved hjelp av unicodes. Du kan opprette en unicode ved hjelp av escape-sekvensen u (n) (unicode-kodepunkt, n er i heksadesimal).
Eksempel 3: Opprette et unicode-tegn
let heartShape:Character = "u(2665)" print(heartShape)
Når du kjører programmet, vil utdataene være:
♥
I eksemplet ovenfor ble et hjerteformt tegn opprettet fra kode U+2665
. Selv om det u(2665)
er inkludert i dobbelt anførselstegn, behandler ikke kompilatoren det som en String
fordi vi brukte escape-sekvens u(n)
. En rømningssekvens representerer ikke seg selv når den er inkludert i bokstavelig.
Hva er en streng?
En streng er ganske enkelt en samling tegn. Strenger i Swift er av String
typen og erklært som:
la noenString: String
Hvordan erklære og tilordne en streng i Swift?
Du kan tilordne verdi i strengtype ved hjelp av strenglitteraler. En streng bokstavelig er en samling av tegn omgitt av doble anførselstegn " "
.
Eksempel 4: Deklarere og tildele en streng
let someString:String = "Hello, world!" let someMessage = "I love Swift." print(someString) print(someMessage)
Når du kjører programmet, vil utdataene være:
Hei Verden! Jeg elsker Swift.
Her brukes både "Hello, world!"
og "I love Swift."
er strenglitteraler for å lage strengvariabler henholdsvis someString og someMessage.
Operasjoner på en streng
Det er noen innebygde funksjoner og eiendom i String for å håndtere de mest brukte operasjonene. For eksempel: for å slå sammen strenger, endre det til store eller store bokstaver. La oss utforske noen ofte brukte operasjoner nedenfor:
Strengsammenligning
Du kan ganske enkelt sjekke om to strenger er like eller ikke bruker sammenligningsoperator (==)
. Operatøren returnerer retur true
hvis begge strengene er like, ellers returnerer den false
.
Eksempel 5: Sammenligning av strenger i Swift
let someString = "Hello, world!" let someMessage = "I love Swift." let someAnotherMessage = "Hello, world!" print(someString == someMessage) print(someString == someAnotherMessage)
Når du kjører programmet, vil utdataene være:
usann sannhet
Strengsammenkobling
Two different strings value can be added together with the addition operator (+)
or using compound assignment operator (+=)
. You can also append a character/string in a string using append
method.
Example 6: String concatenation in Swift
let helloStr = "Hello, " let worldStr = "World" var result = helloStr + worldStr print(result) result.append("!") print(result)
When you run the program, the output will be:
Hello, World Hello, World!
In the above program we created a string result by appending helloStr and worldStr using + operator. So, print(result)
outputs Hello, World in the screen.
You can also append any character or string using append
method. result.append("!")
appends a !
character at the end of the string. So, print(result)
outputs Hello, World! on the screen.
String concatenation using advanced assignment operator
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 funksjonen avgjør om en streng starter med bestemte tegn eller ikke, og returnerer en boolsk verdi. Den returnerer true
hvis strengprefikset samsvarer med den oppgitte verdien ellers returnerer false
.
Eksempel 13: hasPrefix ()
let someString = "Hello, World!" print(someString.hasPrefix("Hell")) print(someString.hasPrefix("hell"))
Når du kjører programmet, vil utdataene være:
sant usant
6. hasSuffix
Denne funksjonen avgjør om en streng slutter med visse tegn eller ikke, og returnerer en boolsk verdi. Den returnerer true
hvis streng-suffikset samsvarer med den oppgitte verdien ellers returnerer false
.
Eksempel 14: hasSuffix ()
print(someString.hasSuffix("rld!")) print(someString.hasSuffix("Rld!"))
Når du kjører programmet, vil utdataene være:
sant usant