In deze zelfstudie leert u over het gebruik van tekens en tekenreeksen in Swift. Je leert ook verschillende bewerkingen die kunnen worden uitgevoerd op strings en tekens.
Wat is een personage?
Een teken is een enkel symbool (letter, cijfer, enz.). Character in swift zijn van het Character
type en worden verklaard als:
laat someCharacter: Character
Hoe een personage in Swift aangeven en toewijzen?
U kunt in het tekentype dezelfde waarde toewijzen als String met dubbele aanhalingstekens, " "
maar deze mag slechts één teken binnen de aanhalingstekens bevatten " "
.
Als u meer dan één teken moet opnemen, moet u dit definiëren in String
plaats van Character
.
Voorbeeld 1: een teken declareren en toewijzen
let someCharacter:Character = “H” let specialCharacter:Character = “@” print(someCharacter) print(specialCharacter)
Wanneer u het programma uitvoert, is de uitvoer:
H @
Voorbeeld 2: meer dan één teken toewijzen (werkt niet)
Maar als u probeert twee symbolen binnen het teken toe te wijzen als
/* This will give an error Changing the type to String will fix it. */ let failableCharacter:Character = "H@" print(failableCharacter)
Wanneer u de bovenstaande code probeert uit te voeren, krijgt u een foutmelding als:
Kan waarde van het type String niet converteren naar Character.
Karakter maken met behulp van unicode en escape-reeks
U kunt ook een speciaal type tekens maken voor.eg-emoji met behulp van unicodes. U kunt een unicode maken met de escape-reeks u (n) (unicode-codepunt, n is in hexadecimaal).
Voorbeeld 3: een Unicode-teken maken
let heartShape:Character = "u(2665)" print(heartShape)
Wanneer u het programma uitvoert, is de uitvoer:
♥
In het bovenstaande voorbeeld is een hartvormig teken gemaakt op basis van code U+2665
. Hoewel het u(2665)
tussen dubbele aanhalingstekens staat, behandelt de compiler het niet als een String
omdat we escape-reeks hebben gebruikt u(n)
. Een escape-reeks vertegenwoordigt zichzelf niet als deze letterlijk is opgenomen.
Wat is een string?
Een string is gewoon een verzameling karakters. Strings in Swift zijn van het String
type en worden verklaard als:
let someString: String
Hoe declareer en wijs ik een string toe in Swift?
U kunt waarde toewijzen in String-type met behulp van letterlijke tekenreeksen. Een letterlijke tekenreeks is een verzameling tekens tussen dubbele aanhalingstekens " "
.
Voorbeeld 4: declareren en toekennen van een string
let someString:String = "Hello, world!" let someMessage = "I love Swift." print(someString) print(someMessage)
Wanneer u het programma uitvoert, is de uitvoer:
Hallo Wereld! Ik hou van Swift.
Hier zijn beide "Hello, world!"
en "I love Swift."
letterlijke tekenreeksen die worden gebruikt om respectievelijk stringvariabelen someString en someMessage te maken.
Bewerkingen op een string
Er zijn enkele ingebouwde functies en eigenschappen in String om de meest gebruikte bewerkingen uit te voeren. Bijvoorbeeld: om strings samen te voegen, wijzigt u deze in hoofdletters of gebruikt u hoofdletters. Laten we hieronder enkele veelgebruikte bewerkingen bekijken:
String vergelijking
U kunt eenvoudig controleren of twee strings gelijk zijn of niet met de vergelijkingsoperator (==)
. De operator retourneert retourneert true
als beide strings gelijk zijn, anders retourneert het false
.
Voorbeeld 5: Stringvergelijking in Swift
let someString = "Hello, world!" let someMessage = "I love Swift." let someAnotherMessage = "Hello, world!" print(someString == someMessage) print(someString == someAnotherMessage)
Wanneer u het programma uitvoert, is de uitvoer:
false true
String-aaneenschakeling
Twee verschillende tekenreeksen kunnen samen worden opgeteld met de operator voor optellen (+)
of met de operator voor samengestelde toewijzing (+=)
. U kunt ook een teken / tekenreeks in een tekenreeks toevoegen met de append
methode.
Voorbeeld 6: String-aaneenschakeling in Swift
let helloStr = "Hello, " let worldStr = "World" var result = helloStr + worldStr print(result) result.append("!") print(result)
Wanneer u het programma uitvoert, is de uitvoer:
Hallo Wereld Hallo Wereld!
In het programma hierboven hebben we een reeks resultaat door het toevoegen van helloStr en worldStr met + operator. Dus print(result)
geeft Hallo, Wereld weer op het scherm.
U kunt ook een willekeurig teken of tekenreeks toevoegen met de append
methode. result.append("!")
voegt een !
teken toe aan het einde van de string. Dus print(result)
uitgangen Hallo, wereld! op het scherm.
String-aaneenschakeling met behulp van geavanceerde toewijzingsoperator
We kunnen ook de geavanceerde toewijzingsoperator (+ =) gebruiken om een string toe te voegen.
Voorbeeld 7: String-aaneenschakeling met de operator + =
var helloStr = "Hello, " let worldStr = "World!" helloStr += worldStr print(helloStr)
Wanneer u het programma uitvoert, is de uitvoer:
Hallo Wereld!
Let op het gebruik van var in plaats van laat in helloStr. Als je helloStr een constante hebt gedefinieerd met let, kun je deze later niet meer wijzigen met de +=
operator en krijg je uiteindelijk een foutmelding. Dus je moet helloStr een variabele definiëren.
String-interpolatie
Het is een eenvoudig proces van het evalueren van een letterlijke tekenreeks die bestaat uit variabelen, constanten enz. Stel je voor dat je de naam en score van de speler hebt opgeslagen in twee constanten als:
let playerName = "Jack" let playerScore = 99
Nu moet je een bericht aan de speler laten zien als "Gefeliciteerd Jack! Je hoogste score is 99." Hier moet je een manier vinden om de waarden van de constanten in een enkele string te gebruiken.
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
Deze functie bepaalt of een tekenreeks met bepaalde tekens begint of niet en retourneert een booleaanse waarde. Het keert terug true
als het stringvoorvoegsel overeenkomt met de opgegeven waarde, anders wordt het geretourneerd false
.
Voorbeeld 13: hasPrefix ()
let someString = "Hello, World!" print(someString.hasPrefix("Hell")) print(someString.hasPrefix("hell"))
Wanneer u het programma uitvoert, is de uitvoer:
waar onwaar
6. hasSuffix
Deze functie bepaalt of een tekenreeks eindigt met bepaalde tekens of niet en retourneert een booleaanse waarde. Het keert terug true
als het achtervoegsel van de tekenreeks overeenkomt met de opgegeven waarde, anders wordt het geretourneerd false
.
Voorbeeld 14: hasSuffix ()
print(someString.hasSuffix("rld!")) print(someString.hasSuffix("Rld!"))
Wanneer u het programma uitvoert, is de uitvoer:
waar onwaar