java中在String中怎么取数字

来源:百度知道 编辑:UC知道 时间:2024/06/24 10:39:24
String s="af24v5m1aag3";

看看这个
String s="af24v5m1aag3";
for(int i=0;i<s.length();i++){
for(int j=0;j<10;j++){
if(String.valueOf(s.charAt(i)).equals(String.valueOf(j))){
System.out.println(s.charAt(i));
}
}
}

看下思路
根据字符长度 迭代字符,然后拿出每个字符转化成数字,
如果数字 在0与9之间就提出来
public class test {
public static void main(String[] args){
String s="af24v5m1aag3";
for(int i=0;i<s.length();i++)
{
int a=(int)s.charAt(i);
if(a>=48&&a<=57) //48,57分别是0和9的ASCLL码
System.out.println(s.charAt(i));

}
}
}
程序输出:
2
4
5
1
3

用toCharArray()把该字符串转化成一个字符数组(看帮助文档,tocharArrary方法的用法),然后一个一个比较字符,用for循环,下面提供两种思路,代码我就不写了。
1,比较ascii码
2,try catch语句,好像记得有个方法把字符转成整形的,出异常说明就不是字符,舍去就行了
理解的话还是第一个方法好理解

正则表达式。。。

方法比较笨 但能达到效果
public class Test {
public static void m