Dart:
Ricerca e sostituzione del testo
Come fare:
Dart fornisce metodi robusti per cercare e sostituire testo direttamente tramite la sua classe String
, senza la necessità di librerie esterne. Ecco come puoi farlo:
Ricerca e Sostituzione di Base
Per cercare una sottostringa e sostituirla con un’altra stringa, puoi usare replaceAll
:
String sampleText = "Ciao, Dart! Dart è fantastico.";
String modifiedText = sampleText.replaceAll("Dart", "Flutter");
print(modifiedText); // Output: Ciao, Flutter! Flutter è fantastico.
Utilizzo delle Espressioni Regolari
Per esigenze di ricerca e sostituzione più complesse, Dart utilizza espressioni regolari tramite la classe RegExp
. Questo permette la corrispondenza e la sostituzione di schemi nelle stringhe:
String sampleText = "Dart 2023, Flutter 2023";
String modifiedText = sampleText.replaceAll(RegExp(r'\d+'), "2024");
print(modifiedText); // Output: Dart 2024, Flutter 2024
Questo esempio trova tutte le istanze di uno o più numeri (\d+
) nella stringa e le sostituisce con “2024”.
Ricerca Senza Distinzione tra Maiuscole e Minuscole
Per eseguire una ricerca senza distinzione tra maiuscole e minuscole, puoi modificare il costruttore RegExp
per ignorare il case:
String sampleText = "Benvenuti a Dart, il linguaggio di programmazione.";
String modifiedText = sampleText.replaceAll(RegExp(r'dart', caseSensitive: false), "Flutter");
print(modifiedText); // Output: Benvenuti a Flutter, il linguaggio di programmazione.
Sostituzione con una Funzione
Per le sostituzioni dinamiche basate sulla corrispondenza stessa, Dart consente di passare una funzione a replaceAllMapped
. Questa funzione può eseguire operazioni o calcoli sulle sequenze corrispondenti:
String sampleText = "Incrementa 5 di 1 per ottenere 6.";
String incrementedText = sampleText.replaceAllMapped(RegExp(r'\d+'), (Match m) => (int.parse(m[0]!) + 1).toString());
print(incrementedText); // Output: Incrementa 6 di 1 per ottenere 7.
Questo sostituisce ogni sequenza di cifre con il suo valore incrementato. Ogni corrispondenza viene analizzata in un intero, incrementata e poi convertita nuovamente in una stringa per la sostituzione.
Le capacità di manipolazione delle stringhe di Dart, in particolare per la ricerca e la sostituzione di testo, ne fanno uno strumento potente per l’elaborazione e la preparazione dei dati all’interno delle tue applicazioni. Che tu usi sostituzioni di stringhe semplici o sfrutti la potenza delle espressioni regolari, Dart fornisce la flessibilità e le prestazioni necessarie per una manipolazione efficace del testo.