【总结】java regex 正则表达式 提取数字和去除数字,过滤数字,提取价格
@Test
public void test33() {
String phoneString = "哈哈,13888889999";
// 提取数字
//
Pattern pattern = Pattern.compile("[^0-9]");
Matcher matcher = pattern.matcher(phoneString);
String all = matcher.replaceAll("");
System.out.println("phone:" + all);
//
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", ""));//
需求:提取价格出来
package com.infomorrow.parser_datasource; 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 regex 正则表达式 提取数字和去除数字,过滤数字,提取价格的更多相关文章
- Java中正则表达式去除html标签
Java中正则表达式去除html的标签,主要目的更精确的显示内容,比如前一段时间在做类似于博客中发布文章功能,当编辑器中输入内容后会将样式标签也传入后台并且保存数据库,但是在显示摘要的时候,比如显示正 ...
- Java中用正则表达式找出数字
Java中用正则表达式找出数字 1.题目 String str = "fjd789klsd908434jk#$$%%^38488545",从中找出78990843438488 ...
- android java 字符串正则表达式 分离特殊字符串
Java中正则表达式的使用 在Java中,我们为了查找某个给定字符串中是否有需要查找的某个字符或者子字串.或者对字符串进行分割.或者对字符串一些字符进行替换/删除,一般会通过if-else.for 的 ...
- Java 常用正则表达式,Java正则表达式,Java身份证校验,最新手机号码正则表达式
Java 常用正则表达式,Java正则表达式,Java身份证校验,最新手机号码校验正则表达式 ============================== ©Copyright 蕃薯耀 2017年11 ...
- Java:正则表达式
Java:正则表达式 package com.fsti.icop.util.regexp; import java.util.regex.Matcher; import java.util.regex ...
- Java中正则表达式的使用(常用的方法)
这两天回想了一下正则表达式的使用,顺便就总结了一下java的javascript中使用正则表达式的用法,需要看javascript中使用正则的朋友可以看我的另一篇总结,下面我就简单的介绍一下java中 ...
- java中正则表达式基本用法
正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它 用以描述在查找文字主体时待匹配的一个或多个字符串.正则表达式作为 ...
- Java中正则表达式、模式匹配与信息抽取
引言 记得几年前在做网页爬虫后的信息抽取时,针对网页源码中隐藏的要提取的信息,比如评论.用户信息等属性信息,直接利用HtmlParser得到.如此做倒是简单,不过利用的是网页的规范的tag标记.其实j ...
- Java的正则表达式
package RegexTest; /** * Created by hu on 2016/3/29. */ /* * Java的正则表达式 在正则表达式中,用\d表示一位数字,如果在其它语言中使用 ...
随机推荐
- C# Win32控制台应用程序忽略 Ctrl + C,阻止程序退出
C# Win32控制台应用程序忽略 Ctrl + C,阻止程序退出,这里使用到了Windows API SetConsoleCtrlHandler函数 注意:在VS中调试执行时,在处理程序例程中设置断 ...
- elasticsearch6.0版本安装head插件
ES6.0版本安装head插件 1.1 前言 不知道是我电脑问题还是最近的开源软件都比较**,mysql和elasticsearch新版本变动都比较大. elasticsearch6.0貌似已经不支持 ...
- Linq-进行Json序列化的过程中出现错误解决办法
错误截图如下: 这是因为表t_sysuser与表t_sysrole之间存在外键联系导致的 解决办法: 进入到创建的linq to sql类中,右键[属性]-将序列化模式修改为[单向]保存即可
- Redis:按照正则批量删除key
Redis按照正则批量删除key redis目前还不支持批量删除key的命令,但是我们有时需要删除符合某个规则的keys,有两种方式: 1.使用redis-cli keys "test*&q ...
- Linux中挂载新的磁盘到指定目录或分区
新增磁盘的设备文件名为 /dev/vdb 大小为100GB. #fdisk -l 查看新增的的磁盘 1.对新增磁盘进行分区 #fdisk /dev/vdb 按提示操作 p打印 n新增 d 删除 w ...
- (转)Unity导出Android在高通骁龙800以上CPU概率性崩溃解决方法研究
Android上的奇葩问题真的是太多了,开始测试反馈说游戏在某些Android手机上随机crash,后来经过详细的测试发现随机闪退的手机都是搭载了高通骁龙800以上的CPU.然后连上真机当crash的 ...
- Sql控制反转小尝试
假想用配置Sql语句的方式来完毕一个处理逻辑,而且映射到一个Url,这样当请求这个url的时候,运行前面配置的sql. 以下的一段详细配置,比如 当请求pagerlistdept.do的时候,会传入參 ...
- 【树莓派】crontab设置Linux设备定时重启
简介:设置Linux设备定时重启或者关机 问题:有台设备每天总需要使用的人手动重启一下才可以正常工作,但是检查了日志,看起来服务一切都正常.时间和正确时间相差4mins. 解决办法: 1.增加定时任务 ...
- [工具IDE]工具与书籍
看到几个还不错的资源,记录于下: 一.使用 JavaScript 写的操作系统: http://www.admin10000.com/document/3811.html 演示地址参考:http:// ...
- 一次性解决Intellij IDEA maven 自动跳到1.5的JDK
说明:文章学习自:https://blog.csdn.net/Zereao/article/details/77427989 一.找到Setting.xml文件 打开setting.xml 说明,该文 ...