Jestem bardzo nowy w Dart i próbuję zrozumieć podstawowe biblioteki. W przypadku łańcuchów dostępna jest funkcja trim(). To jest dobre, ale czy nie istnieją oczywiste sposoby przycinania białych znaków tylko na początku lub tylko na końcu ciągu? Nie mogę ich znaleźć. Dziękuję.Przycinanie białych znaków w ciągach Dart od początku lub końca
Odpowiedz
Nie ma konkretnych metod przycinania tylko początkowych lub końcowych białych znaków. Ale jest to dość łatwe do wdrożenia ich:
/// trims leading whitespace
String ltrim(String str) {
return str.replaceFirst(new RegExp(r"^\s+"), "");
}
/// trims trailing whitespace
String rtrim(String str) {
return str.replaceFirst(new RegExp(r"\s+$"), "");
}
Zgadzam się również, że powinny to być tylko metody String. Zaznacz błąd związany z powyższym. –
Biblioteka MoreDart ma pewne Guava inspirowane pomocników, które pozwalają sprawnie przyciąć sznurki od początku, końcu lub oba:
import 'package:more/char_matcher.dart';
...
var whitespace = new CharMatcher.whitespace(); // what to trim
whitespace.trimFrom(input); // trim from beginning and end
whitespace.trimLeadingFrom(input); // trim from beginning
whitespace.trimTrailingFrom(input); // trim from end
Właśnie dodaliśmy trimLeft
i trimRight
do Quiver dzisiaj, chociaż okazuje się, że są one również dodawane do String
w przyszłym wydaniu SDK. Możesz użyć Quiver dzisiaj.
Różnica między tymi implementacjami i rozwiązaniem opartym na Regeksie polega na tym, że definicja białych znaków jest taka sama jak String.trim
. Regex rozpoznaje mniej białych znaków.
- 1. Przycinanie białych znaków od końca napisu tylko z jQuery
- 2. git - przycinanie białych znaków
- 3. Iterowanie wektora C++ od końca do początku
- 4. Przycinanie wiodących/końcowych białych znaków z textarea za pomocą jQuery?
- 5. Usuń n znaków od początku ciągu znaków
- 6. Usuń cytaty z początku i końca łańcucha znaków w PHP
- 7. Usuwanie białych znaków w ciągu znaków XML
- 8. Dodawanie znaków do początku i końca InputStream w Javie
- 9. Zliczanie początkowych białych znaków
- 10. Usuwanie na początku linii, gdy linia zaczyna się od białych znaków
- 11. regex javascript dla białych znaków lub
- 12. Jak przejść do początku lub końca pliku w Android Studio?
- 13. Dodawanie znaku do początku i końca ciągu znaków
- 14. Grep dla początku i końca linii?
- 15. Definicja białych znaków w Json
- 16. Usuwanie białych znaków w ciągu znaków
- 17. MATCH lub WYSZUKAJ.PIONOWO począwszy od końca zakresu
- 18. Usuwanie wszystkich znaków białych znaków z wyjątkiem „”
- 19. Przycinanie wielu znaków za pomocą php
- 20. Vim: Idź do początku/końca następnej metody
- 21. PHP i odwrotne ukośniki w ciągach znaków
- 22. Groovy: Zastępowanie zmiennych w dynamicznych ciągach znaków
- 23. javascript: ignorowanie wielkości liter w ciągach znaków
- 24. Jak usunąć białą przestrzeń od początku ciągu?
- 25. Cięcie w tył, a następnie liczba w pythonowych ciągach znaków
- 26. Performing selektor na początku/końca pętli biegu
- 27. Usuwanie spacji z początku i końca ciągu
- 28. Definicja reguł białych znaków HTML?
- 29. Przycinanie Struts2 tekstowy ciąg znaków
- 30. Jak zamienić duplikaty białych znaków w łańcuchu znaków w Kotlin?
Zgadzam się, że to dziwna luka. Złożyłem skargę na tę samą rzecz jakiś czas temu. Obecnie można go ustawić w następnym kroku. Opisz ten błąd: http://code.google.com/p/dart/issues/detail?id=5589&q=ltrim&colspec=ID%20Type%20Status%20Priority%20Area%20Milestone%20Owner%20Podsumowanie –
Ten problem został rozwiązany. –