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. winner tree 胜者树

    在树形选择排序中,利用锦标赛思想建立的树称为胜者树. 1.每个非终端节点存储的是左右孩子节点中的优胜者. 2.通过减少比较次数,提高效率. 3.胜者树就是一颗特殊的线段树. 一.构建树 Procedu ...

  2. LaTeX 有哪些「新手须知」的内容?

    孟晨 ,在 LaTeX 话题下写错 LaTeX 名字的,一律… 陈硕等 137 人赞同 这是个好问题,虽然提问提得很大.不是很好答,权当抛砖引玉了. 天字第一号原则:不要到网上抄代码,尤其是似懂非懂的 ...

  3. codeforces-Glass Carving(527C)std::set用法

    C. Glass Carving time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...

  4. UI design principles

    Master's conclusion: 1. fix a color pattern 2. fix the frames the UI will use 3. fix the subject tha ...

  5. ubuntu安装jdk遇到的问题:cannot execute binary file

    安装完jdk,配置好环境变量出现如下状况: cannot execute binary file 问题原因: jdk的位数与ubuntu的系统位数不一致 jdk 64位 ubuntu 32位 然后通过 ...

  6. 详细介绍dll文件是什么

     DLL是Dynamic Link Library的缩写,意为动态链接库.DLL文件一般被存放在C:WindowsSystem目录下.DLL是一个包含可由多个程序同时使用的代码和数据的库. 在Wind ...

  7. Demo12SimpleAdapter

    /Users/alamps/AndroidStudioProjects/Demo12SimpleAdapter/Demo12SimpleAdapter/src/main/res/layout/data ...

  8. Oracle角色

    一 .3种标准角色 Qracle为了兼容以前的版本,提供了三种标准的角色(role):CONNECT.RESOURCE和DBA. 1. CONNECT Role(连接角色) 临时用户,特别是那些不需要 ...

  9. Script to compile invalid objects in DB

    REM: Script to compile invalid objects in DB after refreshing REM: REM:***************************** ...

  10. CMMI集谈

    SEPG(Software Engineering Process Group)是软件工程过程组的缩写,指由软件过程专家组成的团队,负责在软件组织内推动和促进软件过程改进.最早在CMM中提出,1990 ...