Dart:
Usuwanie znaków pasujących do wzorca
Jak to zrobić:
Dart umożliwia łatwe usunięcie znaków pasujących do predefiniowanego wzorca za pomocą wyrażeń regularnych i metody replaceAll
. Do podstawowego użytkowania nie są wymagane żadne biblioteki zewnętrzne, co czyni to podejście bardzo dostępnym.
Oto prosty przykład pokazujący, jak usunąć cyfry z ciągu znaków:
void main() {
String stringWithDigits = 'Dart123 jest fajne456';
// Zdefiniuj wzorzec wyrażenia regularnego, który pasuje do wszystkich cyfr
RegExp digitPattern = RegExp(r'\d');
// Zamień wszystkie wystąpienia wzorca na pusty ciąg znaków
String result = stringWithDigits.replaceAll(digitPattern, '');
print(result); // Wyjście: Dart jest fajne
}
Załóżmy, że masz do czynienia ze skomplikowanym scenariuszem, takim jak usunięcie znaków specjalnych z wyjątkiem spacji i znaków interpunkcyjnych. Oto jak byś to zrobił:
void main() {
String messyString = 'Dart!@# jest *&()fajne$%^';
// Zdefiniuj wzorzec, który pasuje do wszystkiego oprócz liter, cyfr, spacji i znaków interpunkcyjnych
RegExp specialCharPattern = RegExp(r'[^a-zA-Z0-9 \.,!?]');
String cleanedString = messyString.replaceAll(specialCharPattern, '');
print(cleanedString); // Wyjście: Dart! jest fajne
}
Do zadań wymagających bardziej zaawansowanego dopasowywania wzorców i zastępowania, dokładna dokumentacja klasy RegExp
w Darcie oferuje pogłębione informacje o bardziej skomplikowanych wyrażeniach i ich użyciu. Jednak powyższe przykłady obejmują większość typowych przypadków użycia dla usuwania znaków na podstawie wzorców w programowaniu w Darcie.