java regex 正则表达式 提取数字和去除数字,过滤数字,提取价格

简介: java regex 正则表达式 提取数字和去除数字,过滤数字,提取价格
@Test
public void test() {
    String phoneString = "哈哈,13888889999";
    // 提取数字
    // 1
    Pattern pattern = Pattern.compile("[^0-9]");
    Matcher matcher = pattern.matcher(phoneString);
    String all = matcher.replaceAll("");
    System.out.println("phone:" + all);
    // 2
    Pattern.compile("[^0-9]").matcher(phoneString).replaceAll("");
}
@Test
public void test() {
    // 提取张三 去除数字
    String r_name3 = "张三 13599998888 000000";
    Pattern pattern = Pattern.compile("[\\d]");
    Matcher matcher = pattern.matcher(r_name3);
    System.out.println(matcher.replaceAll("").trim());
}
// 过滤除点号外的所有非数字
String abc = "价格:0.00元";
Pattern compile = Pattern.compile("\\d+\\.\\d+");
Matcher matcher = compile.matcher(abc);
matcher.find();
String string = matcher.group();//提取匹配到的结果
System.out.println(string);//0.00  
// 只要提取数字其它都不需要
String abc = "手机:1319999999";    
System.out.println(abc.replaceAll("\\D", ""));//1319999999
// 提取价格
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.junit.Test;
public class test_money {
    @Test
    public void test(){
        //0
        //0.1
        //24.13
        String moneyString="1";
        Double extract_cost = extract_cost_dot(moneyString);
        System.out.println("extract_cost:"+extract_cost);
    }
    /**
     * 提取金额,规则为只提取数字和点号,必须有点号
     * 格式可以为0.0或者,11
     * @param cost
     * @return
     */
    public Double extract_cost_dot(String cost) {
        Pattern compile = Pattern.compile("(\\d+\\.\\d+)|(\\d+)");
        Matcher matcher = compile.matcher(cost);
        matcher.find();
        return Double.valueOf(matcher.group());
    }
}
相关文章
|
Java
Java语言实现猜数字小游戏
Java语言实现猜数字小游戏
106 0
Java语言实现猜数字小游戏
|
Java
java学习第十一天笔记-字符串206-数字相乘思路分析
java学习第十一天笔记-字符串206-数字相乘思路分析
97 0
java学习第十一天笔记-字符串206-数字相乘思路分析
|
Java
java学习第十一天笔记-字符串205-生成字符串四位字母 数字位置随机
java学习第十一天笔记-字符串205-生成字符串四位字母 数字位置随机
91 0
java学习第十一天笔记-字符串205-生成字符串四位字母 数字位置随机
|
Java
java学习第四天笔记-流程控制语句-分支结构77-统计满足条件的数字
java学习第四天笔记-流程控制语句-分支结构77-统计满足条件的数字
81 0
java学习第四天笔记-流程控制语句-分支结构77-统计满足条件的数字
|
Java
java学习第四天笔记-循环高级和数组92-猜数字小游戏
java学习第四天笔记-循环高级和数组92-猜数字小游戏
68 0
java学习第四天笔记-循环高级和数组92-猜数字小游戏
|
Java
java学习第七天笔记-方法137-综合练习-数字解密代码
java学习第七天笔记-方法137-综合练习-数字解密代码
79 0
java学习第七天笔记-方法137-综合练习-数字解密代码
|
算法 Java
Map与Set高频面试算法题(只出现一次的数字,复制带随机指针的链表,宝石与石头,旧键盘,前k个高频单词)(Java实现)
给一个非空整数数组,只有一个元素出现了一次,剩余的元素都出现了两次,,请找出那个只出现一次的数字
Map与Set高频面试算法题(只出现一次的数字,复制带随机指针的链表,宝石与石头,旧键盘,前k个高频单词)(Java实现)
初学Java-----简单的猜数字小游戏
这个小游戏的主体就是猜数字,首先系统会自己会生成一个数字,然后用户手动进行输入一个数字,将两个数字进行对比,如果用户猜大了就会提示猜大,猜小就会提示猜小,猜对就会恭喜用户猜对了。
初学Java-----简单的猜数字小游戏
Java课后练习 对应冒泡排序、直接选择排序、直接插入排序进行选择调用,手动输入一组数字(空格隔开)转为数组 最后排序前后结果
Java课后练习 对应冒泡排序、直接选择排序、直接插入排序进行选择调用,手动输入一组数字(空格隔开)转为数组 最后排序前后结果
Java课后练习 对应冒泡排序、直接选择排序、直接插入排序进行选择调用,手动输入一组数字(空格隔开)转为数组 最后排序前后结果
|
存储 Java
第35篇:Java 中的 Math 类、Random 随机数、UUID、格式化字符串或数字、字符串和数字的相互转换、高精度计算、BigDecimal、计算机中的浮点数都是近似值
✏️ java.lang.Math 类提供了常见的数学计算功能 ✏️ Math 类被 final 修饰(不能被继承) ✏️ Math 类不能被实例化
257 0
第35篇:Java 中的 Math 类、Random 随机数、UUID、格式化字符串或数字、字符串和数字的相互转换、高精度计算、BigDecimal、计算机中的浮点数都是近似值