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

String s="eert343dfg56756dtry66fggg89dfgf";

那我们如何把其中的数字提取出来呢?大致有以下几种方法,正则表达式,集合类,还有就是String类提供的方法。

1 String类提供的方法:

package 测试练习; import java.util.*; public class get_StringNum {

/**  *2012.6.2  */ public static void main(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.*; import java.util.regex.Matcher; import java.util.regex.Pattern; public class get_StringNum {

/**  *2012.6.2  */ public static void main(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:

232343423

Pattern ,Matcher是java.util.regex软件包里的两个类,具体用法大家可以查阅一下api。同样也不能单个提取数字。

3 集合类库

import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; public class get_StringNum {

/**  *2012.6.2  */ public static void main(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.*; import java.util.regex.Matcher; import java.util.regex.Pattern; public class get_StringNum {

/**  *2012.6.2  */ public static void main(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]

java 取字符串中的数字_java截取字符串中的数字相关推荐

  1. java split 数字_java截取字符串,截串,substring和split,分割字母和数字,正则缝隙...

    需求,把"01:大汽车",分成01和大汽车 有两种做法:一是substring Java代码 1 packagetest;2 3 public classsubstringTest ...

  2. java取字符串后6位_java截取字符串后几位字符

    Java中的String类提供了一个substring(int from, int to)方法用于截取字符串中位置为from到to-1位置的字符. 因为字符串的字符位置是从0开始的,而substrin ...

  3. java 比较字符串前几位_java截取字符串前几位

    java截取字符串_IT/计算机_专业资料.java截取字符串 1根据字符串 S... java中常用的字符串的截取方法_计算机软件及应用_IT/计算机_专业资料.jsp中常见使用技术,js,jstl ...

  4. java截取字符串后几位_java截取字符串后几位字符的方法

    java截取字符串后几位字符的方法: java中截取字符串中最后几个字符可以使用String类的substring方法,具体用法参考下方说明: 1.substring(int beginIndex)s ...

  5. java 取pdf表格内容数据_Java 在PDF中添加表格

    本文将介绍通过Java编程在PDF文档中添加表格的方法.添加表格时,可设置表格边框.单元格对齐方式.单元格背景色.单元格合并.插入图片.设置行高.列宽.字体.字号等. 使用工具:Free Spire. ...

  6. java按符号截取字符串_Java截取字符串的常见方法

    在项目中经常会遇到截取字符串的需求,这里重点介绍两种常见的截取字符串方法. 方法一:通过split() 将正则传入split().返回的是一个字符串数组类型.不过通过这种方式截取会有很大的性能损耗,因 ...

  7. java提取字符串中字母_java截取字符串中的字母数字

    import java.util.regex.Matcher; import java.util.regex.Pattern; public class Cut { // 1. 正则表达式 // 利用 ...

  8. java 字符串截取_java截取字符串,截串,substring和split,分割字母和数字,正则缝隙...

    需求,把"01:大汽车",分成01和大汽车 有两种做法:一是substring package test; public class substringTest { public ...

  9. java中截取后几位字符串_java截取字符串后几位

    java中常用的字符串的截取方法_计算机软件及应用_IT/计算机_专业资料.jsp中常见使用技术,js,jstl,eclipse,java 1.length() 字符串的长度 例:char chars ...

最新文章

  1. 金士顿u盘分区工具_使用U盘工具给电脑硬盘快速分区教程
  2. RocketMQ消息支持的模式-消息同步发送
  3. 邮件系统磁盘监控脚本
  4. 113. 路径总和 II golang
  5. SpringBoot 2.1.5(37)---SpringBoot 2.1.5 项目启动运行方式
  6. Spring-core-AnnotationAttributes
  7. sql2000执行sql2005导出的数据脚本时出现“提示含有超过64K限度的行”(转)
  8. 用于android天气开发的背景图,Android开发天气预报APP的设计与实现毕业设计.pdf
  9. 1.通俗地理解贝叶斯公式(定理)
  10. PPT计算机辅助教学,教学ppt课件制作的几点心得
  11. 并行计算:循环程序并行化的一般方法
  12. ACM International Collegiate Programming Contest, Egyptian Collegiate Programming Contest (ECPC 2015
  13. 嵌入式硬件上电后,程序的运行过程剖析(CPU、FLASH、内存)
  14. 风变编程python 知乎_风变编程python到底怎么样?可以自学吗?
  15. 为什么HashTable不能存null键和null值,而HashMap却可以?
  16. HIT CSAPP大作业论文
  17. WPARAM 与 LPARAM
  18. 生动理解关联规则——Apriori算法
  19. 年度考核不理想怎么办?
  20. Gridsome(四):完善简易博客网站 (内有 footer 不满一屏时在最底部,超出一屏时在页面最底部 解决方案)

热门文章

  1. 机器学习算法应用30篇(十)-通俗理解支持向量机SVM及代码实践
  2. plupload使用例子
  3. 网络语言不c,哪些网络用语不文明?
  4. vue点击弹窗自动触发点击事件的解决办法
  5. H5工程师跨页面取值的几种方法
  6. python watchdog占用,python基于watchdog库全自动化监控目录文件
  7. linux cpu负载巡检,linux服务器巡检报告.doc
  8. vue-cli安装步骤
  9. 【自定义组件】如何引用自定义组件
  10. 微信小程序 request请求封装