java 从字符串中提取数字

来源:互联网 发布:ibm软件 编辑:程序博客网 时间:2024/05/23 21:46

从键盘随意输入一串字符,从中提取数字


一、利用正则表达式提取单个数字

import java.util.*;import java.util.regex.Matcher;import java.util.regex.Pattern;public class getNum{public static void main(String[] args){Scanner sc=new Scanner(System.in);String str=sc.nextLine();List<String> arr=new ArrayList<String>();for(String s:str.replaceAll("[^0-9]","").split("")){  /*字符串中非数字字符用“”替换,然后以“”分割*/if(s.length()>0){arr.add(s);}}System.out.println("arr: "+arr);}}

运行:

输入:1huj995j0i1e31

输出:arr: [1, 9, 9, 5, 0, 1, 3, 1]


二、利用String类

import java.util.*;public class get_StringNum {public static void main(String[] args) {        Scanner sc=new Scanner(System.in);String str=sc.nextLine();str=str.trim();//去掉字符串首尾空格String ss="";if(str != null && !"".equals(str)){for(int i=0;i<str.length();i++){if(str.charAt(i)>=48 && str.charAt(i)<=57){ss+=str.charAt(i);}}}System.out.println(ss);}}//编译运行当出现GBK的不可映射字符时:javac -encoding UTF-8 get_StringNum.java  //或者,以笔记本形式打开,另存为ANSI格式

运行:

输入:1hu99ji5a0j1ie31

输出:19950131