I den här handledningen lär du dig om karaktärer och stränganvändning i Swift. Du lär dig också olika operationer som kan utföras på strängar och karaktärer.
Vad är en karaktär?
Ett tecken är en enda symbol (bokstav, nummer etc.). Karaktär i snabb är av Character
typ och förklaras som:
låt someCharacter: Character
Hur förklarar och tilldelar en karaktär i Swift?
Du kan tilldela värde i karaktärstyp samma som String med dubbla citattecken, " "
men det ska bara innehålla ett enda tecken inuti offerten " "
.
Om du behöver inkludera mer än ett tecken måste du definiera det String
istället för Character
.
Exempel 1: Förklara och tilldela en karaktär
let someCharacter:Character = “H” let specialCharacter:Character = “@” print(someCharacter) print(specialCharacter)
När du kör programmet blir resultatet:
H @
Exempel 2: Tilldela mer än ett tecken (Fungerar inte)
Men om du försöker tilldela två symboler inuti karaktären som
/* This will give an error Changing the type to String will fix it. */ let failableCharacter:Character = "H@" print(failableCharacter)
När du försöker köra ovanstående kod får du ett fel som:
Det går inte att konvertera värdet av typen String till Character.
Skapar karaktär med hjälp av unicode och escape-sekvens
Du kan också skapa specialtecken för.eg-emoji med hjälp av unicodes. Du kan skapa en unicode med hjälp av escape-sekvensen u (n) (unicode-kodpunkt, n är i hexadecimal).
Exempel 3: Skapa ett unicode-tecken
let heartShape:Character = "u(2665)" print(heartShape)
När du kör programmet blir resultatet:
♥
I exemplet ovan skapades en hjärtforms karaktär från kod U+2665
. Även om det u(2665)
ingår i dubbla citat, behandlar kompilatorn det inte som en String
för att vi använde escape-sekvens u(n)
. En escape-sekvens representerar inte sig själv när den ingår i bokstavlig
Vad är en sträng?
En sträng är helt enkelt en samling tecken. Strängar i Swift är av String
typ och deklareras som:
låt someString: String
Hur deklarerar och tilldelar en sträng i Swift?
Du kan tilldela värde i strängtyp med hjälp av stränglitteraler. En sträng bokstavlig är en samling karaktärer omgiven av dubbla citat " "
.
Exempel 4: Deklarera och tilldela en sträng
let someString:String = "Hello, world!" let someMessage = "I love Swift." print(someString) print(someMessage)
När du kör programmet blir resultatet:
Hej världen! Jag älskar Swift.
Här används både "Hello, world!"
och "I love Swift."
är stränglitterärer för att skapa strängvariabler som someString respektive someMessage.
Operationer på en sträng
Det finns några inbyggda funktioner och egendomar i String för att hantera de mest använda operationerna. Till exempel: om du vill gå med i strängar, ändra den till versaler eller versaler. Låt oss utforska några vanliga operationer nedan:
Strängjämförelse
Du kan helt enkelt kontrollera om två strängar är lika eller inte med jämförelseoperatören (==)
. Operatören returnerar retur true
om båda strängarna är lika, annars returnerar den false
.
Exempel 5: Strängjämförelse 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ör programmet blir resultatet:
falsk sann
Strängsammankoppling
Två olika strängvärden kan läggas till tillsammans med tilläggsoperatören (+)
eller med hjälp av sammansatt tilldelningsoperator (+=)
. Du kan också lägga till ett tecken / en sträng i en sträng med append
metoden.
Exempel 6: Strängsammankoppling i Swift
let helloStr = "Hello, " let worldStr = "World" var result = helloStr + worldStr print(result) result.append("!") print(result)
När du kör programmet blir resultatet:
Hej, Värld Hej, Värld!
I ovanstående program skapade vi ett strängresultat genom att lägga till helloStr och worldStr med + -operatören. Så, print(result)
matar ut Hello, World på skärmen.
Du kan också lägga till valfritt tecken eller sträng med hjälp av append
metoden. result.append("!")
lägger till ett !
tecken i slutet av strängen. Så, print(result)
utdata Hello, World! på skärmen.
Strängsammankoppling med avancerad tilldelningsoperatör
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
Denna funktion avgör om en sträng börjar med vissa tecken eller inte och returnerar ett booleskt värde. Det returneras true
om strängprefixet matchar det angivna värdet annars returnerar false
.
Exempel 13: hasPrefix ()
let someString = "Hello, World!" print(someString.hasPrefix("Hell")) print(someString.hasPrefix("hell"))
När du kör programmet blir resultatet:
sant falskt
6. hasSuffix
Denna funktion avgör om en sträng slutar med vissa tecken eller inte och returnerar ett booleskt värde. Det returneras true
om strängsuffixet matchar det angivna värdet annars returnerar false
.
Exempel 14: hasSuffix ()
print(someString.hasSuffix("rld!")) print(someString.hasSuffix("Rld!"))
När du kör programmet blir resultatet:
sant falskt