Mallin mukaisten merkkien poistaminen

Dart:
Mallin mukaisten merkkien poistaminen

Kuinka:

Dart tekee merkkien, jotka vastaavat ennalta määritettyä kuviota, poistamisen suoraviivaiseksi käyttämällä säännöllisiä lausekkeita ja replaceAll-metodia. Peruskäyttöön ei vaadita kolmannen osapuolen kirjastoja, mikä tekee tästä lähestymistavasta erittäin saavutettavan.

Tässä on yksinkertainen esimerkki, joka demonstroi, kuinka poistaa numerot merkkijonosta:

void main() {
  String stringWithDigits = 'Dart123 on hauskaa456';
  // Määritä säännöllisen lausekkeen kuvio, joka vastaa kaikkia numeroita
  RegExp digitPattern = RegExp(r'\d');
  
  // Korvaa kaikki kuvion esiintymät tyhjällä merkkijonolla
  String result = stringWithDigits.replaceAll(digitPattern, '');
  
  print(result); // Tuloste: Dart on hauskaa
}

Oletetaan, että käsittelet monimutkaisempaa skenaariota, kuten erikoismerkkien poistaminen lukuun ottamatta välilyöntejä ja välimerkkejä. Näin sen tekisit:

void main() {
  String messyString = 'Dart!@# on *&()hauskaa$%^';
  // Määritä kuvio, joka vastaa kaikkea paitsi kirjaimia, numeroita, välilyöntejä ja välimerkkejä
  RegExp specialCharPattern = RegExp(r'[^a-zA-Z0-9 \.,!?]');
  
  String cleanedString = messyString.replaceAll(specialCharPattern, '');
  
  print(cleanedString); // Tuloste: Dart! on hauskaa
}

Tehtäviin, jotka vaativat monimutkaisempaa kuvion vastaavuuden etsintää ja korvaamista, Dartin kattava RegExp-luokan dokumentaatio tarjoaa syväsukelluksen monimutkaisempiin ilmaisuihin ja niiden käyttöön. Kuitenkin yllä olevat esimerkit kattavat suurimman osan yleisistä käyttötarkoituksista Dart-ohjelmoinnissa, kun kyseessä on merkkien poistaminen kuvion perusteella.