输入一个字符串,将该字符串中包含的数字输出来(比如输入abc123a1,则打印出1 2 3 1,打印格式任意)?
可以用正则表达式,来做
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
String str;
str = scanner.nextLine();
for (int i = 0;i < str.length();i++)
{
if ('0' <= str.charAt(i) && str.charAt(i) <= '9')
System.out.print(str.charAt(i));
}
}
正则表达式解决
Pattern pattern = Pattern.compile("([1-9]\\d*\\.?\\d*)");
String str = "";
Matcher m = pattern.matcher("abc123a1");
int i = 0;
while (m.find()) {
str += m.group(i)+" ";
i++;
}
System.out.println(str);
public static void main(String[] args) {
String str = "abc123a1";
Pattern p = Pattern.compile("[0-9]");
Matcher m = p.matcher(str);
while (m.find()) {
System.out.print(m.group()+" ");
}
}