English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Swift Zeichen und Zeichenfolgen

在本教程中,您将学习Swift中的字符和字符串用法。您还将学习可以对字符串和字符执行的不同操作。

什么是字符?

字符是单个符号(字母,数字等)。swift中的字符是Character类型,声明为:

let someCharacter:Character

如何在Swift中声明和赋值字符?

您可以使用双引号“”指定与字符串相同的字符类型的值,但在引号“”内只能包含一个字符。

如果需要包含多个字符,则需要定义为String类型而不是Character。

Beispiel1:声明和分配字符

let someCharacter:Character = “H”
let specialCharacter:Character = “@”
print(someCharacter)
print(specialCharacter)

Wenn Sie das Programm ausführen, wird die Ausgabe lauten:

H
@

Beispiel2:Zahlung mehrerer Zeichen (ungültig)

Wenn Sie jedoch versuchen, zwei Zeichen als

/*
 Dies gibt einen Fehler.
Durch Ändern des Typs auf String kann dieses Problem behoben werden.
*/
let failableCharacter: Character = "H@"
print(failableCharacter)

Wenn Sie den obigen Code ausführen, erhalten Sie die folgende Fehlermeldung:

Cannot convert value of type String to Character. (Kann den Wert des Typs String nicht in Character umwandeln.)

Zeichen mit Unicode und Fluchtketten erstellen

Sie können auch Unicode verwenden, um spezielle Arten von Zeichen für Emoji-Symbole zu erstellen. Sie können Unicode (Unicode-Codepunkt, n ist Hexadezimal) mit der Fluchtkette \u {n} erstellen.

Beispiel3:Einen Unicode-Zeichen zu erstellen

let heartShape: Character = "\u{2665"
print(heartShape)

Wenn Sie das Programm ausführen, wird die Ausgabe lauten:

Im obigen Beispiel, von dem CodeU + 2665Es wurde ein Herzsymbol erstellt. Trotz \u {2665} enthalten sind, werden aber vom Compiler nicht als String betrachtet, weil wir die Fluchtkette \u {n} verwendet haben. Fluchtketten in Literalen stellen nicht sich selbst dar.

Was ist eine Zeichenfolge?

Zeichenfolgen sind Sammlungen von Zeichen. In Swift sind Zeichenfolgen vom Typ String und werden so deklariert:

let someString: String

Wie kann man in Swift Zeichenfolgen deklarieren und zuweisen?

Sie könnenZeichenfolgenliteraleWerte werden mit dem Typ String zugewiesen. Zeichenfolgenliterale sind Sammlungen von Zeichen, die mit doppelten Anführungszeichen "" umgeben sind.

Beispiel4:Stringdeklaration und -zuweisung

let someString: String = "Hello, world!"
let someMessage = "I love Swift."
print(someString)
print(someMessage)

Wenn Sie das Programm ausführen, wird die Ausgabe lauten:

Hello, world!
I love Swift.

Hierbei sind "Hello, world!" und "I love Swift." die Zeichenfolgen, die zur Erstellung der Zeichenfolgenvariablen someString und someMessage verwendet werden.

Zeichenfolgenoperationen

String enthält einige eingebauten Funktionen und Eigenschaften zur Verarbeitung der häufigsten Operationen. Zum Beispiel: Um Zeichenfolgen zu verbinden, ändern Sie sie in Großbuchstaben oder groß. Lassen Sie uns einige gängige Operationen besprechen:

Zeichenfolgenvergleich

Sie könnenVerleichsoperator (==) Einfach überprüfen, ob zwei Zeichenfolgen gleich sind. Gibt zwei Zeichenfolgen gleich, dann gibt der Operator true zurück, andernfalls gibt er false zurück.

Beispiel5: Stringvergleich in Swift

let someString = "Hello, world!"
let someMessage = "I love Swift."
let someAnotherMessage = "Hello, world!"
print(someString == someMessage)
print(someString == someAnotherMessage)

Wenn Sie das Programm ausführen, wird die Ausgabe lauten:

false
true

Stringverbindung

kann verwendet werdenAdditionsoperator (+) oder verwendenKombinierter Zuweisungsoperator (+=) um zwei verschiedene String-Werte zu addieren. Sie können auch die append-Methode verwenden, um ein Zeichen an einen String anzuhängen/String.

Beispiel6: Stringverbindung in Swift

let helloStr = "Hello, "
let worldStr = "World"
var result = helloStr + worldStr
print(result)
result.append("!")
print(result)

Wenn Sie das Programm ausführen, wird die Ausgabe lauten:

Hello, World
Hello, World!

Im obigen Programm haben wir durch Anhängen und Verwenden+Operator erstellt eineString result. Daher helloStrworldStrprint(result), gibt am Bildschirm ausHello,World.

Sie können auch die append-Methode verwenden, um jeden Zeichen oder String hinzuzufügen. result.append("!") fügt ein !-Zeichen am Ende des Strings hinzu. Daher gibt print(result) das am Bildschirm ausHello, World!.

Stringverbindung mit erweiterten Zuweisungsoperatoren

Wir können auch erweiterte Zuweisungsoperatoren (+ =) um Strings zu verbinden.

Beispiel7: Verwenden Sie+ Stringverbindung mit = Operator

var helloStr = "Hello, "
let worldStr = "World!"
helloStr += worldStr
print(helloStr)

Wenn Sie das Programm ausführen, wird die Ausgabe lauten:

Hello, World!

Beachten Sie, dass var verwendet wurde, anstatt let in helloStr. Wenn Sie helloStr als Konstante mit let definiert haben, können Sie dies später nicht tun += Operator ändert es und führt schließlich zu einem Fehler. Daher müssen Sie die Variable helloStr definieren.

String-Interpolation

Dies ist ein einfacher Prozess, ein String-Literal, das Variablen und Konstanten enthält. Angenommen, Sie haben den Namen und den Punkt eines Spielers in zwei Konstanten gespeichert, wie folgt:

let playerName = "Jack"
let playerScore = 99

Jetzt müssen Sie eine Nachricht an den Spieler anzeigen, "恭喜Jack!Dein höchster Wert ist99。” Hier benötigen Sie eine Methode, um Konstantenwerte in einem einzigen String zu verwenden.

Dies kann durch die Kombination von Strings erreicht werden:

let congratsMessage = "Herzlichen Glückwunsch " + playerName + "!. Dein höchster Wert ist " + playerScore + "."
print(congratsMessage)

Diese Methode ist jedoch weniger lesbar.

Es gibt also eine einfache Methode, Nachrichten mit Stringinterpolation anzuzeigen. Interpolation ist der Prozess, die Werte von Variablen oder Konstanten in einen Stringtext einzufügen.

Variablen oder Konstanten, die in der Stringkonstanten einzufügen sind, werden in eckige Klammern () gesetzt und mit einem Backslash als Präfix (\) angegeben.

Beispiel8:Stringinterpolation in Swift

let playerName = "Jack"
let playerScore = 99
let congratsMessage = "Herzlichen Glückwunsch\(playerName)!. Dein höchster Wert ist \(playerScore)."
print(congratsMessage)

Wenn Sie das Programm ausführen, wird die Ausgabe lauten:

Herzlichen Glückwunsch, Jack! Dein höchster Wert ist 99.

Ingebauten Funktionen und Eigenschaften der Zeichenkette:

1. isEmpty(Prüfen, ob leer)

Diese Funktion bestimmt, ob eine Zeichenkette leer ist. Sie gibt true zurück, wenn die Zeichenkette leer ist, andernfalls false.

Beispiel9:isEmpty

var emptyString = ""
print(emptyString.isEmpty)

Wenn Sie das Programm ausführen, wird die Ausgabe lauten:

true

2.capitalized(Wort großschreiben)

Diese Eigenschaft wird verwendet, um jeden Wort in einer Zeichenkette groß zu schreiben.

Beispiel10:Großbuchstaben

let someString = "hello, world!"
print(someString.capitalized)

Wenn Sie das Programm ausführen, wird die Ausgabe lauten:

Hello, World!

3.uppercased und lowercased(Zeichenkette groß und klein)

Der Großschreibungsfunktion wird eine Zeichenkette in Großbuchstaben umgewandelt, während die Kleinbuchstabenfunktion eine Zeichenkette in Kleinbuchstaben umwandelt.

Beispiel11:uppercased() und lowercased()

let someString = "Hello, World!"
print(someString.uppercased())
print(someString.lowercased())

Wenn Sie das Programm ausführen, wird die Ausgabe lauten:

HELLO, WORLD!
hello, world!

4.count (Zählung/Länge)

Diese Eigenschaft wird verwendet, um die Gesamtzahl der Zeichen in einer Zeichenkette zu berechnen.

Beispiel12:Zählung

let someString = "Hello, World!"
print(someString.count)

Wenn Sie das Programm ausführen, wird die Ausgabe lauten:

13

5. hasPrefix

Diese Funktion bestimmt, ob eine Zeichenkette mit einem bestimmten Zeichen beginnt und gibt einen boolschen Wert zurück. Wenn der Präfix der Zeichenkette mit dem angegebenen Wert übereinstimmt, wird true zurückgegeben, andernfalls false.

Beispiel13:hasPrefix()

let someString = "Hello, World!"
print(someString.hasPrefix("Hell"))
print(someString.hasPrefix("hell"))

Wenn Sie das Programm ausführen, wird die Ausgabe lauten:

true
false

6hatSuffix

Diese Funktion bestätigt, ob eine Zeichenfolge mit bestimmten Zeichen endet und gibt einen Boolean-Wert zurück. Wenn der Nachname der Zeichenfolge mit dem angegebenen Wert übereinstimmt, wird true zurückgegeben, andernfalls false.

Beispiel14:hasSuffix()

print(someString.hasSuffix("rld!"))
print(someString.hasSuffix("Rld!"))

Wenn Sie das Programm ausführen, wird die Ausgabe lauten:

true
false