View Full Version : [JAVA] Numeri da una stringa
Ciao a tutti.
C'è un modo "veloce" per estrarre dei numeri contenuti in una stringa? Non intendo però solo numeri ad una cifra, anche a più cifre.
Ad esempio, avendo una stringa del genere:
ds21#.2as123fd0998ska
dovrei memorizzare in un array di int[] i numeri seguenti: 21, 2, 123, 998.
Grazie anticipatamente.
Ciao,
Francesco
Mi è stato suggerito altrove di utilizzare le espressioni regolari.
Posto qui per completezza il metodo che ho scritto/implementato:
import java.util.regex.*;
import java.util.ArrayList;
public ArrayList<Integer> extractingNumbers(String s) {
ArrayList<Integer> numbers = new ArrayList<Integer>();
Pattern p = Pattern.compile("\\d+");
Matcher m = p.matcher(s);
while (m.find()) {
numbers.add(Integer.parseInt(m.group()));
}
if(numbers.size() > 0) {
return numbers;
} else {
ArrayList<Integer> blankArray = new ArrayList<Integer>();
blankArray.add(-1);
return blankArray;
}
}
banryu79
17-10-2008, 13:35
puoi anche scriverlo così, ha lo stesso significato e, almeno per me, mi sembra più chiaro:
public ArrayList<Integer> extractingNumbers(String s) {
ArrayList<Integer> numbers = new ArrayList<Integer>();
Pattern p = Pattern.compile("\\d+");
Matcher m = p.matcher(s);
while (m.find()) {
numbers.add(Integer.parseInt(m.group()));
}
if(numbers.size() <= 0) {
numbers.add(-1);
}
return numbers;
}
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.