java从字符串中提取数字

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

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<str.length();i++){ if(str.charAt(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<String> digitList = new ArrayList<String>(); 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<String> ss = new ArrayList<String>();         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截取字符串中的数字的更多相关文章

  1. java截取字符串中的最后几个字符

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

  2. Java去除字符串中 除数字和逗号以外的符号

    例: public static void main(String[] args) { // 去除字符串中 除数字和逗号以外的符号 String str = "_1066,_1068,_10 ...

  3. java从字符串中提取数字

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

  4. java从字符串中提取数字的简单实例

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

  5. java提取字符串数字,Java获取字符串中的数字

    ================================ ©Copyright 蕃薯耀 2020-01-17 https://www.cnblogs.com/fanshuyao/ 具体的方法如 ...

  6. Java 截取字符串中指定数据及之后数据

    String resCallBackJson="12556{1{{{456858585{";        resCallBackJson = resCallBackJson.su ...

  7. java 判断一个字符串中的数字:是否为数字、是否包含数字、截取数字

    题外话: JavaScript中判断一个字符是否为数字,用函数:isDigit(); 一.判断一个字符串是否都为数字 package com.cmc.util; import java.util.re ...

  8. Java:将字符串中的数字转换成整型

    在C语言中,将字符串中的数字转换为整型的方法是是利用atoi这个函数.在Java中,我们可以利用parseInt方法来实现,具体代码如下: public class HelloWorld { publ ...

  9. JS截取字符串中数字

    今天项目中需要在一个字符串中截取一个数字,然后数字参与运算.搜了一下,有好多好用的方式截取字符串. 1,使用parseInt() var str ="4500元"; var num ...

随机推荐

  1. 生成arff文件,csv转为arff

    一.什么是arff格式文件 1.arff是Attribute-Relation File Format缩写,从英文字面也能大概看出什么意思.它是weka数据挖掘开源程序使用的一种文件模式.由于weka ...

  2. 史上最全的css hack(ie6-9,firefox,chrome,opera,safari) (zz)

    在这个浏览器百花争鸣的时代,作为前端开发的我们为了我们漂亮的设计能适应各个浏览器可为煞费苦心,主要体现在javascript和css上面.javascript我这次就不谈了,先说说css.       ...

  3. Lintcode: Segment Tree Query II

    For an array, we can build a SegmentTree for it, each node stores an extra attribute count to denote ...

  4. Latex技巧

    文件.tex 文件打开 error reading 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://www.blogbus.com/jzhao-logs/27226136 ...

  5. sdutoj 2604 Thrall’s Dream

    http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2604 Thrall’s Dream Time ...

  6. Java获取当前内存及硬盘使用情况

    import java.io.File; import java.lang.management.ManagementFactory; import com.sun.management.Operat ...

  7. URAL 1146 Maximum Sum(DP)

    Given a 2-dimensional array of positive and negative integers, find the sub-rectangle with the large ...

  8. clock

    Prime Time中的clock分析包括: 1)Multiple clocks,clock from port/pin,virtual clock. 2)Clock network delay an ...

  9. ubuntu的目录结构

    /:根目录,一般根目录下只存放目录,不要存放文件,/etc./bin./dev./lib./sbin应该和根目录放置在一个分区中 /bin:/usr/bin:可执行二进制文件的目录,如常用的命令ls. ...

  10. SqlServer 的提示符(Option/With等提示符)不是什么时候都可以用的

    我们在做SqlServer的查询调优的时候,经常会在语句末尾用到option(loop/merge/hash join)或在join语句前直接声明loop/merge/hash,来强制SqlServe ...