Mam długi ciąg. Jakie jest wyrażenie regularne, aby podzielić liczby na tablicę?Jak usunąć znak nienumeryczny z łańcucha znaków w java?
Odpowiedz
Czy usuwasz lub dzielisz? Spowoduje to usunięcie wszystkich nie-numerycznych znaków.
myStr = myStr.replaceAll("[^\\d]", "")
'myStr = myStr.replaceAll (" [\\ D] "," ");' –
Wersja bez nawiasów kwadratowych: 'myStr.replaceAll (" \\ D + "," ")', może bardziej czytelna. – Adil
Będziemy chcieli, aby użyć klasy string Split() metodę i przekazać w sposób regularny wyrażenia «\ D +», który będzie pasował przynajmniej jeden inny niż numer.
myString.split("\\D+");
Spowoduje to usunięcie wszystkich znaków numerycznych i wyświetlenie tablicy z wszystkimi liczbami nienumerycznymi. Jest dokładnie odwrotnością żądanego. – tangens
Ups, musiałem źle zinterpretować pytanie. W takim przypadku byłaby to negowana wersja regex, która jest \\ D + Zaktualizuję odpowiedź! –
String.split("\\D+")
Jeszcze podejście do usuwania wszystkie znaki nienumeryczne z ciągiem:
String newString = oldString.replaceAll("[^0-9]", "");
Działa również pod 'gawk'. – Hastur
Działa to w Flex SDK 4.14.0
myString.replace (/ [^ 0-9 & & ^.]/G, "");
Proszę dodać objaśnienie do kodu – KhorneHoly
można użyć metody rekurencyjnej jak poniżej:
public static String getAllNumbersFromString(String input) {
if (input == null || input.length() == 0) {
return "";
}
char c = input.charAt(input.length() - 1);
String newinput = input.substring(0, input.length() - 1);
if (c >= '0' && c<= '9') {
return getAllNumbersFromString(newinput) + c;
} else {
return getAllNumbersFromString(newinput);
}
}
prosty sposób bez użycia wyrażenia regularnego:
public static String getOnlyNumerics(String str) {
if (str == null) {
return null;
}
StringBuffer strBuff = new StringBuffer();
char c;
for (int i = 0; i < str.length() ; i++) {
c = str.charAt(i);
if (Character.isDigit(c)) {
strBuff.append(c);
}
}
return strBuff.toString();
}
Innym regex rozwiązanie:
string.replace(/\D/g,'');
To działało dla napisów javascript, dzięki! – jlafay
StringBuilder sb = new StringBuilder();
test.chars().mapToObj(i -> (char) i).filter(Character::isDigit).forEach(sb::append);
System.out.println(sb.toString());
- 1. Czyszczenie łańcucha znaków w java
- 2. Usuń znak z łańcucha przy użyciu javascript
- 3. Java, sposób dzielenia łańcucha znaków z przesunięciem
- 4. JAVA Przeciążenie obiektu/łańcucha znaków
- 5. Dołącz jeden znak do łańcucha znaków lub tablicy znaków w java?
- 6. Jak usunąć przecinek z końca łańcucha?
- 7. Jak usunąć ostatni znak w ciągu znaków w C#?
- 8. Jak dołączyć "do łańcucha znaków
- 9. Jak zapobiegać internowaniu łańcucha znaków?
- 10. Java usunąć non Łacińskiej podstawowe znaki z łańcucha
- 11. Znak w postaci łańcucha znaków w języku Python dla __unicode__?
- 12. Jak usunąć znak z editekstu?
- 13. Jak usunąć nawias z łańcucha w Ruby?
- 14. Jak usunąć osadzone nawiasy klamrowe w ciągu znaków Java?
- 15. Klucz z łańcucha znaków w języku Java RSA
- 16. Jak usunąć wszystkie znaki z ciągu znaków?
- 17. Tworzenie instancji z łańcucha znaków w języku Java
- 18. Jak usunąć znaki kontrolne z ciągu znaków?
- 19. Jak usunąć konkretny podciąg z łańcucha?
- 20. Wstaw znak do łańcucha SQL
- 21. Jak usunąć znak z elementu tablicy?
- 22. Jak usunąć znak # z danych hash? jquery?
- 23. Zakończenie łańcucha - znak c = 0 vs znak c = '\ 0'
- 24. usunąć znak ucieczki z ciągiem
- 25. Jak usunąć puste znaki z ciągu znaków w JavaScript?
- 26. usunąć zawartość łańcucha między słowem i szczególnego charakteru w java
- 27. Jak usunąć pierwszy wiersz z łańcucha zawierającego XML?
- 28. java - Jak dodać znak specjalny w enum?
- 29. Jak usunąć, w tym bieżący znak?
- 30. Usuń ostatni znak ciągu znaków
1. Napisz przykładowy ciąg znaków 2. Czy ciąg znaków lub tablica lub tablica ciągów znaków (ciąg [])? 2. Co chcesz? po prostu usuń znak nieliczbowy z ciągu lub usuń go i uzyskaj tablicę zawierającą liczby – eveliotc
Proszę, wyjaśnij to pytanie. Niektóre wskaźniki: Pokaż ciąg znaków wejściowych i wynik ciągu. Wykonaj drugie zdanie, aby było to trochę bardziej wyjaśniające. Czy masz wiele numerów rozdzielonych przez cyfry? Lub każda cyfra powinna być podzielona? –