Ricerca e sostituzione del testo

Swift:
Ricerca e sostituzione del testo

How to:

Swift offre metodi semplici per ricercare e sostituire testo. Ecco un esempio base:

var quote = "La vita è come andare in bicicletta. Per mantenere l'equilibrio devi muoverti."
if let range = quote.range(of: "bicicletta") {
    quote.replaceSubrange(range, with: "programmazione")
}
print(quote)
// Output: "La vita è come andare in programmazione. Per mantenere l'equilibrio devi muoverti."

Sostituire tutte le occorrenze è altrettanto facile:

let wrongDate = "La conferenza è il 12/12/2022."
let correctedDate = wrongDate.replacingOccurrences(of: "12/12/2022", with: "23/04/2023")
print(correctedDate)
// Output: "La conferenza è il 23/04/2023."

Deep Dive

La capacità di cercare e sostituire testo risale ai primi editor di testo e sistemi di elaborazione testi. Nel contesto della programmazione, è particolarmente importante per i refactoring del codice e l’automazione delle correzioni. Oltre ai metodi di base di Swift, ci sono opzioni per sostituzioni più complesse che usano espressioni regolari, permettendo di gestire pattern di testo sofisticati e condizioni specifiche.

In Swift, puoi usare il tipo NSRegularExpression per sostituzioni che vanno al di là di semplici corrispondenze di stringa. Per esempio, per sostituire tutti i numeri in una stringa con uno zero, potresti fare così:

import Foundation

let verboseText = "Nel 2022, ci sono stati 5 eventi principali."
let pattern = "\\d+"
let regex = try! NSRegularExpression(pattern: pattern, options: [])
let range = NSRange(location: 0, length: verboseText.utf16.count)
let minimalistText = regex.stringByReplacingMatches(in: verboseText, options: [], range: range, withTemplate: "0")
print(minimalistText)
// Output: "Nel 0, ci sono stati 0 eventi principali."

Ricorda, lavorare con NSRegularExpression può sollevare eccezioni, quindi dovresti gestirle correttamente.

See Also