
Java, jak zjistit počet čísel ze stringu?
Zdravím mám kod:
Scanner sc = new Scanner(System.in);
System.out.print("Zadej řetězec");
String retezec;
retezec = sc.nextLine();
System.out.println("Délka řetězce je"+retezec.length()+"znaků");
Jakým způsobem zjistím počet čísel v zadaném řetězci? Je na to nějaká metoda? Děkuju
Na to je plno způsobů, můžeš na začátek zkusit procházet znak po znaku a kontrolovat jestli je to číslo. Otázkou je kolik je čísel tady: "ahoj150" - jedno (150), nebo tři (1, 5, 0) ?
https://stackoverflow.com/questions/5564339/find-count-of-digits-in-string-variable
Vyřešil jsem to takto:
retezec = retezec.replaceAll("\\D+","");
System.out.println("Počet čísel je "+retezec.length()+" znaků");
Vypadá že to funguje. Momentálně mám ale jako další úkol počet White znaků a na googlu nějak nemohu nic najít :D
Pomoci reg. vyrazu nahradit vsechny white znaky za nic a nasledne zjistit puvodni delka - nova delka = pocet white znaku
A nebo stejne, jako jsi nahradil neciselny znak \D muzes nahradit neWhite space znak pomoci \S
A treba by ses mohl podivat na regularni vyrazy, kdyz uz je pouzivas, abys jen nepouzival COPY/PASTE
pomocou streamov: