精华内容
下载资源
问答
  • 该楼层疑似违规已被系统折叠隐藏此楼...import java.util.regex.Matcher;import java.util.regex.Pattern;public class TestMath {public static void main(String[] args) {System.out.println(TestMath.sumForStr...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

    package sendMsg;

    import java.util.regex.Matcher;

    import java.util.regex.Pattern;

    public class TestMath {

    public static void main(String[] args) {

    System.out.println(TestMath.sumForString("今天是2013年8月6日17点48,该去吃饭了!"));

    }

    public static String sumForString(String tring){

    String[] words = tring.split("");

    int i=0;

    int sum = 0;

    StringBuffer bf = new StringBuffer();

    for(String w:words){

    if(TestMath.isInteger(w)){

    bf.append(w);

    }else{

    if(i!=0&&TestMath.isInteger(words[i-1])){

    bf.append("|");

    }

    }

    i++;

    }

    System.out.println(bf.toString());

    String[] num = bf.toString().split("\\|", -1);

    for(String n:num){

    if(!n.isEmpty()){

    sum = sum + Integer.valueOf(n);

    }

    }

    return String.valueOf(sum);

    }

    public static boolean isInteger(String input){

    Matcher mer = Pattern.compile("^-?\\d+$").matcher(input);

    return mer.find();

    }

    }

    展开全文
  • 有的时候,在工作中要过滤掉字符串,或者数字。在网上找的资料中大多数都用了一个循环实现。虽然可以达到想要的效果。但是,相对于说会影响一定的效率!我的代码是//从字符串中获取数字public static String getNum...

    有的时候,在工作中要过滤掉字符串,或者数字。在网上找的资料中大多数都用了一个循环实现。虽然可以达到想要的效果。但是,相对于说会影响一定的效率!

    我的代码是

    //从字符串中获取数字

    public static String getNum(String str) {

    String dest = "";

    if (str != null) {

    dest = str.replaceAll("[^0-9]","");

    }

    return dest;

    }

    //从字符串中过滤数字

    public static String removeNum(String str) {

    String regEx = "[0-9]";

    Pattern p = Pattern.compile(regEx);

    Matcher m = p.matcher(str);

    //替换与模式匹配的所有字符(即数字的字符将被""替换)

    return m.replaceAll("").trim();

    }

    分享到:

    18e900b8666ce6f233d25ec02f95ee59.png

    72dd548719f0ace4d5f9bca64e1d7715.png

    2012-08-13 12:54

    浏览 7748

    评论

    展开全文
  • importjava.util.regex.Matcher;importjava.util.regex.Pattern;importorg.apache.commons.lang.StringUtils;/*** 正则表达式工具类**/public classRegUtils {/*** 邮箱*/public static final String EMAIL = "^\\w+...

    importjava.util.regex.Matcher;importjava.util.regex.Pattern;importorg.apache.commons.lang.StringUtils;/*** 正则表达式工具类

    **/

    public classRegUtils {/*** 邮箱*/

    public static final String EMAIL = "^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$";/*** 手机号码*/

    public static final String PHONE = "^(1[3-9]([0-9]{9}))$";/*** 仅中文*/

    public static final String CHINESE = "^[\\u4E00-\\u9FA5\\uF900-\\uFA2D]+$";/*** 整数*/

    public static final String INTEGER = "^-?[1-9]\\d*$";/*** 数字*/

    public static final String NUMBER = "^([+-]?)\\d*\\.?\\d+$";/*** 正整数*/

    public static final String INTEGER_POS = "^[1-9]\\d*$";/*** 浮点数*/

    public static final String FLOAT = "^([+-]?)\\d*\\.\\d+$";/*** 正浮点数*/

    public static final String FLOAT_POS = "^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*$";/*** 是否为正整数数字,包括0(00,01非数字)*/

    public static final String INTEGER_WITH_ZERO_POS = "^(([0-9])|([1-9]([0-9]+)))$";/*** 是否为整数数字,包括正、负整数,包括0(00,01非数字)*/

    public static final String NUMBER_WITH_ZERO = "^((-)?(([0-9])|([1-9]([0-9]+))))$";/*** 是否为数字字符串*/

    public static final String NUMBER_TEXT = "^([0-9]+)$";/*** 数字(整数、0、浮点数),可以判断是否金额,也可以是负数*/

    public static final String NUMBER_ALL = "^((-)?(([0-9])|([1-9][0-9]+))(\\.([0-9]+))?)$";/*** QQ,5-14位*/

    public static final String QQ = "^[1-9][0-9]{4,13}$";/*** IP地址*/

    public static final String IP = "((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))";/*** 邮编*/

    public static final String POST_CODE = "[1-9]\\d{5}(?!\\d)";/*** 普通日期*/

    public static final String DATE = "^[1-9]\\d{3}-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2][0-9])|(3[0-1]))$";/*** 复杂日期,不区分闰年的2月

    * 日期格式:2017-10-19

    * 或2017/10/19

    * 或2017.10.19

    * 或2017年10月19日

    * 最大31天的月份:(((01|03|05|07|08|10|12))-((0[1-9])|([1-2][0-9])|(3[0-1])))

    * 最大30天的月份:(((04|06|11))-((0[1-9])|([1-2][0-9])|(30)))

    * 最大29天的月份:(02-((0[1-9])|([1-2][0-9])))*/

    public static final String DATE_COMPLEX = "^(([1-2]\\d{3})(-|/|.|年)((((01|03|05|07|08|10|12))(-|/|.|月)((0[1-9])|([1-2][0-9])|(3[0-1])))|(((04|06|11))(-|/|.|月)((0[1-9])|([1-2][0-9])|(30)))|(02-((0[1-9])|([1-2][0-9]))))(日)?)$";/*** 复杂的日期,区分闰年的2月

    * 这个日期校验能区分闰年的2月,格式如下:2017-10-19

    * (见:http://www.jb51.net/article/50905.htm)

    * ^((?!0000)[0-9]{4}-((0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-8])|(0[13-9]|1[0-2])-(29|30)|(0[13578]|1[02])-31)|([0-9]{2}(0[48]|[2468][048]|[13579][26])|(0[48]|[2468][048]|[13579][26])00)-02-29)$*/

    public static final String DATE_COMPLEX_LEAP_YEAR = "^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$";/*** 正则表达式校验,符合返回True

    *@paramregex 正则表达式

    *@paramcontent 校验的内容

    *@return

    */

    public static booleanisMatch(String regex, CharSequence content){returnPattern.matches(regex, content);

    }/*** 校验手机号码

    *@parammobile

    *@return

    */

    public static final booleanisMoblie(String mobile){boolean flag = false;if (null != mobile && !mobile.trim().equals("") && mobile.trim().length() == 11) {

    Pattern pattern=Pattern.compile(PHONE);

    Matcher matcher=pattern.matcher(mobile.trim());

    flag=matcher.matches();

    }returnflag;

    }/*** 校验邮箱

    *@paramvalue

    *@return

    */

    public static final booleanisEmail(String value){boolean flag = false;if (null != value && !value.trim().equals("")) {

    Pattern pattern=Pattern.compile(EMAIL);

    Matcher matcher=pattern.matcher(value.trim());

    flag=matcher.matches();

    }returnflag;

    }/*** 校验密码

    *@parampassword

    *@return长度符合返回true,否则为false*/

    public static final booleanisPassword(String password){boolean flag = false;if (null != password && !password.trim().equals("")) {

    password=password.trim();if(password.length() >= 6 && password.length() <= 30){return true;

    }

    }returnflag;

    }/*** 校验手机验证码

    *@paramvalue

    *@return符合正则表达式返回true,否则返回false*/

    public static final booleanisPhoneValidateCode(String value){boolean flag = false;if (null != value && !value.trim().equals("")) {

    Pattern pattern= Pattern.compile("^8\\d{5}$");

    Matcher matcher=pattern.matcher(value.trim());

    flag=matcher.matches();

    }returnflag;

    }/*** 判断是否全部大写字母

    *@paramstr

    *@return

    */

    public static booleanisUpperCase(String str){if(StringUtils.isEmpty(str)){return false;

    }

    String reg= "^[A-Z]$";returnisMatch(reg,str);

    }/*** 判断是否全部小写字母

    *@paramstr

    *@return

    */

    public static booleanisLowercase(String str){if(StringUtils.isEmpty(str)){return false;

    }

    String reg= "^[a-z]$";returnisMatch(reg,str);

    }/*** 是否ip地址

    *@paramstr

    *@return

    */

    public static booleanisIP(String str){if(StringUtils.isEmpty(str)){return false;

    }returnisMatch(IP, str);

    }/*** 符合返回true,区分30、31天和闰年的2月份(最严格的校验),格式为2017-10-19

    *@paramstr

    *@return

    */

    public static booleanisDate(String str){if(StringUtils.isEmpty(str)){return false;

    }returnisMatch(DATE_COMPLEX_LEAP_YEAR, str);

    }/*** 简单日期校验,不那么严格

    *@paramstr

    *@return

    */

    public static booleanisDateSimple(String str){if(StringUtils.isEmpty(str)){return false;

    }returnisMatch(DATE, str);

    }/*** 区分30、31天,但没有区分闰年的2月份

    *@paramstr

    *@return

    */

    public static booleanisDateComplex(String str){if(StringUtils.isEmpty(str)){return false;

    }returnisMatch(DATE_COMPLEX, str);

    }/*** 判断是否为数字字符串,如0011,10101,01

    *@paramstr

    *@return

    */

    public static booleanisNumberText(String str){if(StringUtils.isEmpty(str)){return false;

    }returnisMatch(NUMBER_TEXT, str);

    }/*** 判断所有类型的数字,数字(整数、0、浮点数),可以判断是否金额,也可以是负数

    *@paramstr

    *@return

    */

    public static booleanisNumberAll(String str){if(StringUtils.isEmpty(str)){return false;

    }returnisMatch(NUMBER_ALL, str);

    }/*** 是否为正整数数字,包括0(00,01非数字)

    *@paramstr

    *@return

    */

    public static booleanisIntegerWithZeroPos(String str){if(StringUtils.isEmpty(str)){return false;

    }returnisMatch(INTEGER_WITH_ZERO_POS, str);

    }/*** 是否为整数,包括正、负整数,包括0(00,01非数字)

    *@paramstr

    *@return

    */

    public static booleanisIntegerWithZero(String str){if(StringUtils.isEmpty(str)){return false;

    }returnisMatch(NUMBER_WITH_ZERO, str);

    }/*** 符合返回true,QQ,5-14位

    *@paramstr

    *@return

    */

    public static booleanisQQ(String str){if(StringUtils.isEmpty(str)){return false;

    }returnisMatch(QQ, str);

    }public static voidmain(String[] args) {

    System.out.println(isMoblie("13430800244"));

    System.out.println(isMoblie("17730800244"));

    System.out.println(isMoblie("17630800244"));

    System.out.println(isMoblie("14730800244"));

    System.out.println(isMoblie("18330800244"));

    System.out.println(isMoblie("19330800244"));

    System.out.println(isMoblie("1333000244"));

    }

    }

    展开全文
  • Java数字提取

    2021-05-12 15:05:01
    数字提取,任给一个整数,输出各位数据,并计算各个位的和值 import java.util.*; public class HelloWorld { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a,t,s = 0; a...

    数字提取,任给一个整数,输出各位数据,并计算各个位的和值
    import java.util.*;

    public class HelloWorld {
    public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int a,t,s = 0;
    a = sc.nextInt();
    do
    {
    t = a%10;
    a = a/10;
    s = s+t;
    }
    while(a!=0);
    System.out.println(“各个位的和值为:”+s);
    }
    }

    展开全文
  • Java中,如果输入一串由其他非数字字符隔开的数字,但却想要将其中的数字提取出来,网上已经给出多种解决方案,以下对这些方法及其对应的情况进行简单的总结,并提出自己的解决方案:1.多个由不确定字符隔开的单个...
  • 那我们如何把其中的数字提取出来呢?大致有以下几种方法,正则表达式,集合类,还有就是String类提供的方法。1String类提供的方法:package 测试练习;import java.util.*;public class get_StringNum {/***2012.6...
  • @Testpublic void test33() {String phoneString = "哈哈,...// 提取数字// 1Pattern pattern = Pattern.compile("[^0-9]");Matcher matcher = pattern.matcher(phoneString);String all = matcher.replaceAll("...
  • 主要介绍了java正则表达式提取数字的方法,还有去除字符串数字的方法,大家参考使用吧
  • 有的时候,在工作中要过滤掉字符串,或者数字。在网上找的资料中大多数都用了一个循环实现。虽然可以达到想要的效果。但是,相对于说会影响一定的效率!   我的代码是 //从字符串中获取数字 public static ...
  • 那我们如何把其中的数字提取出来呢?大致有以下几种方法,正则表达式,集合类,还有就是String类提供的方法。1 String类提供的方法:package 测试练习;import Java.util.*;public class get_StringNum {/***2016.1...
  • 那我们如何把其中的数字提取出来呢?大致有以下几种方法,正则表达式,集合类,还有就是string类提供的方法。1 string类提供的方法:package 测试练习;import java.util.*;public class get_stringnum {/***2016.1...
  • 1。通过rex:("\\d+")来提取字符串Scanner sc = new Scanner(System.in);String[] a = sc.nextLine().split("\\d+");for(String s : a){System....通过rex: [^0-9] 来提取数字Scanner sc = new Scanner(System.in);/...
  • 【总结】java regex 正则表达式 提取数字和去除数字,过滤数字,提取价格
  • 本文实例讲述了java基于正则提取字符串中的数字功能。分享给大家供大家参考,具体如下:使用Java正则可以很方便的从字符串中提取符合条件的内容。1.提取字符串中所有的手机号:private void getPhoneNum(String ...
  • 集合类库import java.util.*;import java.util.regex.Matcher;import java.util.regex.Pattern;public class get_StringNum {/***2016.10.25*/public static void main(String[] args) {String a="love23next234csdn...
  • Java 正则提取数字

    2014-05-07 14:19:00
    例如:有一个字符串:"数量最低2000份",将其中的2000数字提取出来。  String arg0 = "数量最低2000份"; Pattern p = Pattern.compile("\\d+"); Matcher m = p.matcher(arg0); String result = ""; if(m....
  • java字符串提取数字

    千次阅读 2018-09-14 17:08:52
    * 提取字符串中的数字 * @param strInput * @return */ public static String getNum(String strInput) { //匹配指定范围内的数字 String regEx = "[^0-9]"; //Pattern是一个正则表达式经...
  • java提取字符串中数字

    千次阅读 2019-05-12 18:07:50
    Pattern pattern = Pattern.compile("[需要匹配的数字(正则表达式)]"); Matcher matcher = pattern.matcher(n); while (matcher.find()) { System.out.println(matcher.group()); } 现在我们获取字符串中的金钱...
  • //判断一个字符串是否都为数字publicbooleanisDigit(StringstrNum){returnstrNum.matches("[0-9]{1,}");}//判断一个字符串是否都为数字publicbooleanisDigit(StringstrNum){Patternpattern=Pattern.compile("[0-9]{1...
  • 这是一个更详细的解决方案。不太优雅,但可能更快:publicstaticStringstripNonDigits(finalCharSequenceinput/*inspiredbyseh'scomment*/){finalStringBuildersb=newStringBuilder(input.length()/*...
  • ================================ ©Copyright蕃薯耀 2020-01-17 ...具体的方法如下: /** * 把字符串数字类型的数字取出来(只取遇到非数字字符前,包括空格) * @param str * <li>"1-0我5013我24a5c6...
  • 展开全部import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Arrays;public class NumberSplit {public StringBuffer getString(String str) {StringBuffer strbuf = new ...
  • 使用java正则可以很方便的从字符串中提取符合条件的内容。1.提取字符串中所有的手机号:private void getPhoneNum(String smsBody) {Pattern pattern = Pattern.compile("(13|14|15|18)\\d{9}");Matcher matcher = ...
  • java 提取字符串中的数字

    千次阅读 2019-06-28 21:23:08
    java 提取字符串中的数字 public static String getNum(String str){ str = str.trim(); String str2 = ""; if (str != null && !"".equals(str)) { for (int i = 0; i < str.length(); i+...
  • 1.提取汉字public static void main(String[] args) {String str = " 我是123一段测abd试 空a格 的字符 串 ";System.out.println("过滤出汉字:" + str.replaceAll("\\s*","").replaceAll("[^(\\u4e00-\\u9fa5)]","...
  • importjava.util.regex.Matcher;importjava.util.regex.Pattern;importorg.apache.commons.lang.StringUtils;/*** 正则表达式工具类**/public classRegUtils {/*** 邮箱*/public static final String EMAIL = "^\\w+...
  • 1、做一下操作时会一般会用到提取数字操纵:a、列表中有翻页,当新添加的数据不是放在第一条或者最后一...2、例子:界面:javs代码:/*** java从字符串中提取数字* str:传递过来的字符串*/public static List getNU...
  • 下面是我测试的一个程序importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclasstestextendsJFrame{publicstaticvoidmain(Stringargs[]){finalFramelogonf=newFram...下面是我测试的一个程序...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 854
精华内容 341
关键字:

java提取数字

java 订阅