当前位置: 代码迷 >> J2SE >> 请教怎么在字符串中取指定位数的整数
  详细解决方案

请教怎么在字符串中取指定位数的整数

热度:153   发布时间:2016-04-24 13:27:17.0
请问如何在字符串中取指定位数的整数?
如:dsfdf(df0078025sdf)5623 这一串字符串,我只要取 0078025 这长度为连续7位的整数,请各位帮帮忙。

------解决方案--------------------
如果确定字符串中数字的起始和结尾位置, 就可以按照楼上的方法。
如果不确定起始位置,可以参考正则表达式:
String regex = "[\\d]{7}";
String s = "dsfdf(df0078025sdf)5623"; 
Matcher matcher = Pattern.compile(regex).matcher(s);
while(matcher.find())
{
String digit = matcher.group();
int n = Integer.parseInt(digit);
}
------解决方案--------------------
楼主用的是"如"

这种东西还是正则解决...

Java code
public class Test81 {    public static void main(String[] args) {        String s = "dfsd0078025sdf)5623sdfs7872226e19sd";        String[] as = s.split("((?<=(?<=^|\\D+)\\d{7}(?=\\D+|$))|^).*?((?=(?<=^|\\D+)\\d{7}(?=\\D+|$))|$)");        for (int i = 1; i < as.length; i++)            System.out.println(as[i]);    }}
  相关解决方案