随便给你一个含有数字的字符串,比如:

String s="eert343dfg56756dtry66fggg89dfgf";

那我们如何把其中的数字提取出来呢?大致有以下几种方法,正则表达式,集合类,还有就是String类提供的方法。1String类提供的方法:package测试练习;import java.util.*;public classget_StringNum {/***2012.6.2*/

public static voidmain(String[] args) {

String str= "love23next234csdn3423javaeye";

str=str.trim();

String str2="";if(str != null && !"".equals(str)){for(int i=0;i=48 && str.charAt(i)<=57){

str2+=str.charAt(i);

}

}

}

System.out.println(str2);

}

}

output:232343423这个方法有个明显的缺点,只能把数字全部提取到一起,不能分别提取。当然也可以改进,有兴趣的朋友可以试试。2正则表达式import java.util.*;importjava.util.regex.Matcher;importjava.util.regex.Pattern;public classget_StringNum {/***2012.6.2*/

public static voidmain(String[] args) {

String a="love23next234csdn3423javaeye";

String regEx="[^0-9]";

Pattern p=Pattern.compile(regEx);

Matcher m=p.matcher(a);

System.out.println( m.replaceAll("").trim());

}

}

output:232343423Pattern ,Matcher是java.util.regex软件包里的两个类,具体用法大家可以查阅一下api。同样也不能单个提取数字。3集合类库import java.util.*;importjava.util.regex.Matcher;importjava.util.regex.Pattern;public classget_StringNum {/***2012.6.2*/

public static voidmain(String[] args) {

String a="love23next234csdn3423javaeye";

List digitList = new ArrayList();

Pattern p= Pattern.compile("[^0-9]");

Matcher m=p.matcher(a);

String result= m.replaceAll("");for (int i = 0; i < result.length(); i++) {

digitList.add(result.substring(i, i+1));

}

System.out.println(digitList);

}

}

output:

[2, 3, 2, 3, 4, 3, 4, 2, 3]

相同的思路:import java.util.*;importjava.util.regex.Matcher;importjava.util.regex.Pattern;public classget_StringNum {/***2012.6.2*/

public static voidmain(String[] args) {

String a="love23next234csdn3423javaeye";

List ss = new ArrayList();for(String sss:s.replaceAll("[^0-9]", ",").split(",")){if (sss.length()>0)

ss.add(sss);

}

System.out.print(ss);

}

}

output:

[2, 3, 2, 3, 4, 3, 4, 2, 3]

很明显,利用正则表达式我们就可以分别提取数字了。

另外还有一个利用查阅文档找出的答案,如下:/*** 从字符串文本中获得数字

*@paramtext

*@return

*/publicstaticListgetDigit(String text) {

ListdigitList =newArrayList();

Pattern p=Pattern.compile("(\\d+)");

Matcher m=p.matcher(text);while(m.find()) {

String find=m.group(1).toString();

digitList.add(Long.valueOf(find));

}returndigitList;

} //判断一个字符串是否都为数字

public booleanisDigit(String strNum) { return strNum.matches("[0-9]{1,}");} //判断一个字符串是否都为数字

public booleanisDigit(String strNum) { Pattern pattern = Pattern.compile("[0-9]{1,}"); Matcher matcher =pattern.matcher((CharSequence) strNum); returnmatcher.matches();} //截取数字

publicString getNumbers(String content) { Pattern pattern = Pattern.compile("\\d+"); Matcher matcher =pattern.matcher(content); while(matcher.find()) { return matcher.group(0);} return "";} //截取非数字

publicString splitNotNumber(String content) { Pattern pattern = Pattern.compile("\\D+"); Matcher matcher =pattern.matcher(content); while(matcher.find()) { return matcher.group(0);} return ""; }

java获取数字_java 获取String中的数字相关推荐

  1. java string 字符个数字_java从字符串中提取数字

    string类函数的补充说明: trim()方法返回调用字符串对象的一个副本,但是所有起始和结尾的空格都被删除了,例子如下:String s=" Hello World ".tri ...

  2. java 保留字符串中的数字_java从字符串中提取数字

    随便给你一个含有数字的字符串,比如: String s="eert343dfg56756dtry66fggg89dfgf"; 那我们如何把其中的数字提取出来呢?大致有以下几种方法, ...

  3. java 提取字符串中前面的数字_Java提取字符串中的数字

    在Java中,如果输入一串由其他非数字字符隔开的数字,但却想要将其中的数字提取出来,网上已经给出多种解决方案,以下对这些方法及其对应的情况进行简单的总结,并提出自己的解决方案: 1.多个由不确定字符隔 ...

  4. java 取字符串中的数字_java截取字符串中的数字

    随便给你一个含有数字的字符串,比如: String s="eert343dfg56756dtry66fggg89dfgf"; 那我们如何把其中的数字提取出来呢?大致有以下几种方法, ...

  5. java replaceall函数_java基础—-String中replace和replaceAll方法

    这里面我们分析一下replace与replaceAll方法的差异以及原理. replace各个方法的定义 一.replaceFirst方法 public String replaceFirst(Str ...

  6. java 检测表情符号_java – 检测String中的字符是否是表情符号(使用Android)

    我实际上能够使用链接的iOS代码来创建以下功能.我没有意识到包含例如单个表情符号的字符串将具有2的长度.因此,您可以检查字符是否实际上是代理. 我不完全确定如何从iOS代码中处理if(substrin ...

  7. java字符串剪切函数,java用substring函数截取string中一段字符串,substringstring

    java用substring函数截取string中一段字符串,substringstring from  http://www.cnblogs.com/laiweili/archive/2012/11 ...

  8. java 获取域名_Java获取域名,Java从URL地址中获取域名,Java从Request 获取域名

    Java  获取主域名方法有很多种,有的用截串方式,我用的一个投机取巧的方式,这个获取域名的方法比较简单,代码也较少. Java从URL地址中获取域名//这样获取的方式,不请求就能获取到域名 URL ...

  9. java 取字段_java – 获取字段的名称

    在 Java中可以从实际字段获取字符串中的字段名称吗?喜欢: public class mod { @ItemID public static ItemLinkTool linkTool; publi ...

最新文章

  1. 手机芯片谁是AI之王?高通、联发科均超华为
  2. ROS知识: vanilla(香草) CMakeLists.txt 的语法
  3. anaconda虚拟环境教程大全
  4. AOJ GRL_1_C: All Pairs Shortest Path (Floyd-Warshall算法求任意两点间的最短路径)(Bellman-Ford算法判断负圈)
  5. 前端学习(3152):react-hello-react之初始化react
  6. ipmsg飞鸽传书系统即时通讯
  7. [转]javascript 程序1
  8. R的可视化の basic plot
  9. 微博基于 Flink 的机器学习实践
  10. ADF12C 一个应用读多个数据库的数据
  11. 信息系统综合知识二 信息化基础知识
  12. web前端入门到实战:CSS3中width值为max/min-content及fit-content的理解
  13. 05 pandas变形
  14. 北京理工大学 计算机考研真题,北京理工大学考研真题汇总
  15. 英读廊——为什么夏天白天打瞌睡晚上却睡不着?
  16. 拆分基础Slam(1)--静态相机前端
  17. FFmpeg视频工具简洁教程
  18. 印度之行-4:斋普尔,帝王将相今何在
  19. 乐易佳数据恢复大众版
  20. vue图片文件太大无法上传

热门文章

  1. 手机恢复出厂设计显示无服务器,手机恢复出厂设置是不是所有的东西都没了
  2. HX5120NL 普思Pulse 网络变压器
  3. 分布式系统(概念、时间、状态)
  4. java使用模板导出excel,带二维码,图片及图片压缩
  5. 怎样制作C#安装程序
  6. VC++ 安装程序制作
  7. 忙中偷闲,进行了一次oracle数据库的duplicate的测试
  8. 【Metashape精品教程3】坐标系选择 坐标转换
  9. 设置电脑开机软件自启动的简便小方法
  10. 光速不变_光速社区:开放源码新时代的最佳实践