English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
在本教程中,您将学习Swift中的字符和字符串用法。您还将学习可以对字符串和字符执行的不同操作。
字符是单个符号(字母,数字等)。swift中的字符是Character类型,声明为:
let someCharacter:Character
您可以使用双引号“”指定与字符串相同的字符类型的值,但在引号“”内只能包含一个字符。
如果需要包含多个字符,则需要定义为String类型而不是Character。
let someCharacter:Character = “H” let specialCharacter:Character = “@” print(someCharacter) print(specialCharacter)
Wenn Sie das Programm ausführen, wird die Ausgabe lauten:
H @
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.)
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.
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.
Zeichenfolgen sind Sammlungen von Zeichen. In Swift sind Zeichenfolgen vom Typ String und werden so deklariert:
let someString: String
Sie könnenZeichenfolgenliteraleWerte werden mit dem Typ String zugewiesen. Zeichenfolgenliterale sind Sammlungen von Zeichen, die mit doppelten Anführungszeichen "" umgeben sind.
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.
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:
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
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.
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.
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.
Diese Funktion bestimmt, ob eine Zeichenkette leer ist. Sie gibt true zurück, wenn die Zeichenkette leer ist, andernfalls false.
var emptyString = "" print(emptyString.isEmpty)
Wenn Sie das Programm ausführen, wird die Ausgabe lauten:
true
Diese Eigenschaft wird verwendet, um jeden Wort in einer Zeichenkette groß zu schreiben.
let someString = "hello, world!" print(someString.capitalized)
Wenn Sie das Programm ausführen, wird die Ausgabe lauten:
Hello, World!
Der Großschreibungsfunktion wird eine Zeichenkette in Großbuchstaben umgewandelt, während die Kleinbuchstabenfunktion eine Zeichenkette in Kleinbuchstaben umwandelt.
let someString = "Hello, World!" print(someString.uppercased()) print(someString.lowercased())
Wenn Sie das Programm ausführen, wird die Ausgabe lauten:
HELLO, WORLD! hello, world!
Diese Eigenschaft wird verwendet, um die Gesamtzahl der Zeichen in einer Zeichenkette zu berechnen.
let someString = "Hello, World!" print(someString.count)
Wenn Sie das Programm ausführen, wird die Ausgabe lauten:
13
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.
let someString = "Hello, World!" print(someString.hasPrefix("Hell")) print(someString.hasPrefix("hell"))
Wenn Sie das Programm ausführen, wird die Ausgabe lauten:
true false
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.
print(someString.hasSuffix("rld!")) print(someString.hasSuffix("Rld!"))
Wenn Sie das Programm ausführen, wird die Ausgabe lauten:
true false