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.