JAVA怎样快速把字符串里面的数字取出来

2024-11-02 03:30:23
推荐回答(4个)
回答1:

char[] charArray=date.toCharArray();

//这是方法一 获得固定位置上的数字,因为我看你这个数字是在固定位置上的,所以论速度这个是最快的没有判断直接获取
String newDate=charArray[0]+charArray[1]+charArray[2]+charArray[3]+charArray[5]+charArray[6]+charArray[8]+charArray[9];

方法二:
对charArray进行遍历,如果是数字就加到新的字符串的尾巴上。这种需要判断很多次,速度没那么快。

方法三:你可以看看正则表达式的方法。
方法四:逆向思维,如果是"-"或者是" "," : "就过滤掉
我说的都是原理,他们说的都是方法。但是最快的肯定是我的第一个方法。别人的和我的方法二和四类似。

回答2:

replace 把 "-" " " ":" 替换为空字符串""

回答3:

import java.util.regex.Matcher;
import java.util.regex.Pattern;/**
*


*
*

* @since JDK 1.4
* @version 1.0
*
*/
public class Main {
public static void main(String[] args) {
String s = "阿里145山1的61歌17哦13我7呢819如果";
Pattern p = Pattern.compile("[0-9]");
Matcher m = p.matcher(s);

while (m.find()) {
System.out.println(m.group());
}
}
}

回答4:

new simpleDateFormat("yyyy-MM-dd hh:mm:ss")
simpleDateFormat.parse();转为date类型
new simpleDateFormat("yyyyMMdd hhmmss")转为你要的String类型