怎样求从字符串中提取数字数组

来源:百度知道 编辑:UC知道 时间:2024/05/21 17:57:08
字符串是随便输入的有空格有字符有数字,怎样把字符串中的数字取出来存入一个一维数组中,请写出代码
我还是给一个例子吧:"45dfg78 4aer 56sfg91"经过转换后返回这样的一个数组a={45,78,4,56,91}

public class Test
{
public static Long[] fetchNumber(String s)
{
List<Long> longNumbers = new ArrayList<Long>();
char[] chs = s.toCharArray();
long number = -1;
boolean isNumber = false;
for (int i=0;i<chs.length;i++)
{
if (chs[i]>=48 && chs[i]<=57)
{
if (number<0)
{
number = 0;
}
number = number*10 + chs[i] - 0x30;
isNumber = true;
}else
{
if (number>=0 && isNumber)
{
longNumbers.add(number);
number = -1;
isNumber = false;
}
}

}
if (number>=0)
{
longNumbers.add(number);
}
return (Long[])longNumbers.toArray(new Long[longNumbers.size()]);
}

public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.print("输入字符串:");<