Slette tegn som samsvarer med et mønster

Dart:
Slette tegn som samsvarer med et mønster

Hvordan:

Dart gjør det enkelt å fjerne tegn som matcher et forhåndsdefinert mønster ved bruk av regulære uttrykk og metoden replaceAll. Ingen tredjepartsbiblioteker er nødvendig for grunnleggende bruk, noe som gjør denne tilnærmingen veldig tilgjengelig.

Her er et enkelt eksempel som demonstrerer hvordan du fjerner sifre fra en streng:

void main() {
  String stringWithDigits = 'Dart123 er gøy456';
  // Definer et regulært uttrykksmønster som matcher alle sifre
  RegExp digitPattern = RegExp(r'\d');
  
  // Erstatt alle forekomster av mønsteret med en tom streng
  String result = stringWithDigits.replaceAll(digitPattern, '');
  
  print(result); // Utdata: Dart er gøy
}

Anta at du står overfor et mer komplekst scenario, som å fjerne spesialtegn unntatt mellomrom og punktuering. Her er hvordan du ville gjort det:

void main() {
  String messyString = 'Dart!@# er *&()gøy$%^';
  // Definer et mønster som matcher alt unntatt bokstaver, tall, mellomrom og punktuering
  RegExp specialCharPattern = RegExp(r'[^a-zA-Z0-9 \.,!?]');
  
  String cleanedString = messyString.replaceAll(specialCharPattern, '');
  
  print(cleanedString); // Utdata: Dart! er gøy
}

For oppgaver som krever mer avansert mønstermatching og erstatning, tilbyr Darts omfattende RegExp klasse dokumentasjon en dybdeinnsikt i mer komplekse uttrykk og deres bruk. Imidlertid dekker de ovennevnte eksemplene de fleste vanlige bruksområder for å slette tegn basert på mønstre i Dart-programmering.