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

Swift字符和字符串

In questo tutorial, imparerai l'uso dei caratteri e delle stringhe in Swift. Inoltre, imparerai le diverse operazioni che possono essere eseguite su stringhe e caratteri.

Cos'è un carattere?

Un carattere è un singolo simbolo (lettera, numero, ecc.). Nei linguaggi Swift, i caratteri sono di tipo Character e sono dichiarati come:

let someCharacter:Character

Come dichiarare e assegnare un carattere in Swift?

Puoi specificare un valore di tipo di carattere identico a una stringa utilizzando virgolette doppi "", ma all'interno delle virgolette può essere contenuto solo un carattere.

Se devi includere più di un carattere, devi definire il tipo come String invece di Character.

Esempio 1: Dichiarazione e assegnazione di caratteri

let someCharacter:Character = "H"
let specialCharacter:Character = "@"
print(someCharacter)
print(specialCharacter)

运行该程序时,输出为:

H
@

Esempio 2: Assegnazione di più caratteri (non valido)

Ma se provi a assegnare due simboli all'interno di un carattere di

/*
 Questo genererà un errore.
Modificando il tipo in stringa può risolvere questo problema.
*/
let failableCharacter: Character = "H@"
print(failableCharacter)

Quando tenti di eseguire il codice sopra, riceverai il seguente messaggio di errore:

Cannot convert value of type String to Character. (Impossibile convertire il valore di tipo String in Character.)

Creazione di caratteri usando Unicode e sequenze di escape

Puoi anche usare Unicode per creare caratteri speciali di tipo emoji. Puoi creare Unicode (unicode code point, n è esadecimale) usando la sequenza di escape \u {n}.

Esempio 3: Creazione di un carattere Unicode

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

运行该程序时,输出为:

Nell'esempio sopra, un carattere a cuore è stato creato dal codice U + 2665. Anche se \u {2665} è incluso tra virgolette, il compilatore non lo considera come String perché abbiamo usato la sequenza di escape \u {n}. Le sequenze di escape incluse nei testi letterali non rappresentano se stesse.

Cos'è una stringa?

Le stringhe sono raccolte di caratteri. In Swift, le stringhe sono di tipo String e sono dichiarate come:

let someString: String

Come dichiarare e assegnare stringhe in Swift?

Puoi usareString literalAssegna un valore di tipo String. Le stringhe letterali sono gruppi di caratteri racchiusi tra virgolette doppi " ".

Esempio 4: Dichiarazione e assegnazione di stringhe

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

运行该程序时,输出为:

Hello, world!
I love Swift.

In questo caso, "Hello,world!" e "i love Swift. " sono stringhe utilizzate per creare le variabili di stringa someString e someMessage.

Operazioni sulle stringhe

String contiene alcune funzioni e proprietà integrate per gestire le operazioni più comuni. Ad esempio: per connettere stringhe, cambiarle in maiuscolo o minuscolo. Esploriamo alcune operazioni comuni di seguito:

Confronto delle stringhe

Puoi usareOperatore di confronto (==) Controlla semplicemente se due stringhe sono uguali. Se due stringhe sono uguali, l'operatore restituisce true, altrimenti restituisce false.

Esempio 5: Confronto delle stringhe in Swift

let someString = "Hello, world!"
let someMessage = "Io amo Swift."
let someAnotherMessage = "Hello, world!"
print(someString == someMessage)
print(someString == someAnotherMessage)

运行该程序时,输出为:

false
true

Concatenazione di stringhe

Puoi utilizzareOperatore di somma (+) o utilizzareOperatore di assegnamento composto (+=) aggiunge due valori di stringa diversi. Puoi anche utilizzare il metodo append per aggiungere un carattere/una stringa alla stringa.

Esempio 6: Concatenazione di stringhe in Swift

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

运行该程序时,输出为:

Hello, World
Hello, World!

Nel programma sopra, abbiamo creato una stringa aggiungendo e utilizzando l'operatore +Stringhe result. Quindi helloStrworldStrprint(result) esce sullo schermoHello,World.

Puoi anche utilizzare il metodo append per aggiungere qualsiasi carattere o stringa. result.append("!") aggiunge un carattere ! alla fine della stringa. Pertanto, print(result) esce sullo schermoHello,World!.

Concatenazione di stringhe utilizzando l'operatore avanzato di assegnazione

Possiamo anche utilizzare l'operatore di assegnazione avanzata (+ =) per concatenare stringhe.

Esempio 7: Concatenazione di stringhe utilizzando l'operatore + =

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

运行该程序时,输出为:

Hello, World!

Attenzione, in helloStr è stato utilizzato var invece di let. Se hai già definito la costante helloStr con let, non puoi utilizzare l'operatore += per modificarla e alla fine ottieni un errore. Pertanto, devi definire la variabile helloStr.

Interpolazione di stringhe

È un processo semplice, una lettera di stringa, che include variabili, costanti ecc. Supponiamo di avere il nome del giocatore e il punteggio memorizzati in due costanti, come segue:

let playerName = "Jack"
let playerScore = 99

Ora, devi mostrare un messaggio all'utente, “CongratulazioniJack!La tua punteggio massimo è 99Ecco, qui hai bisogno di un metodo per utilizzare valori costanti in una singola stringa.

Questo può essere fatto utilizzando la concatenazione di stringhe:

let congratsMessage = "恭喜 " + playerName + "!. La tua punteggio più cao è " + playerScore + "."
print(congratsMessage)

Ma, il modo sopra descritto è meno leggibile.

Quindi, c'è un modo semplice per visualizzare un messaggio utilizzando l'interpolazione delle stringhe. L'interpolazione è il processo di inclusione del valore di una variabile o di una costante nel testo di una stringa.

Le variabili o le costanti da inserire in una stringa letterale devono essere racchiuse tra parentesi quadre ( ) e precedute da una barra invertita (\).

Esempio 8: interpolazione di stringhe in Swift

let playerName = "Jack"
let playerScore = 99
let congratsMessage = "恭喜\(playerName)!. La tua punteggio più cao è \(playerScore)."
print(congratsMessage)

运行该程序时,输出为:

Congratulazioni Jack!. La tua punteggio più alto è 99.

Funzioni e proprietà integrate delle stringhe:

1. isEmpty (giudizio di vuoto)

Questa funzione determina se una stringa è vuota. Restituisce true se la stringa è vuota, altrimenti restituisce false.

Esempio 9: isEmpty

var emptyString = ""
print(emptyString.isEmpty)

运行该程序时,输出为:

true

2.capitalized (parola maiuscola)

Questa proprietà viene utilizzata per scrivere ogni parola nella stringa in maiuscolo.

Esempio 10: maiuscola

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

运行该程序时,输出为:

Hello, World!

3.uppercased e lowercased (stringa maiuscola e minuscola)

La funzione maiuscola trasforma una stringa in lettere maiuscole, mentre la funzione minuscola la trasforma in lettere minuscole.

Esempio 11: uppercased() e lowercased()

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

运行该程序时,输出为:

HELLO, WORLD!
hello, world!

4.count (conteggio/lunghezza)

Questa proprietà viene utilizzata per calcolare il numero totale di caratteri nella stringa.

Esempio 12: conteggio

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

运行该程序时,输出为:

13

5. hasPrefix

Questa funzione determina se una stringa inizia con un carattere specifico e restituisce un valore booleano. Restituisce true se il prefisso della stringa corrisponde al valore fornito, altrimenti restituisce false.

示例13:hasPrefix()

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

运行该程序时,输出为:

true
false

6. hasSuffix

此函数确定字符串是否以特定字符结尾,并返回一个布尔值。如果字符串后缀与提供的值匹配,则返回 true,否则返回 false。

示例14:hasSuffix()

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

运行该程序时,输出为:

true
false