java语言编程使用正则表达式来实现提取(美团 3-5年经验 15-30k 北京 hadoop高级工程)中的3-5和15-30
不多说,直接上干货!
如有这样的一条数据进来: 美团 3-5年经验 15-30k 北京 hadoop高级工程
//正则表达式提取工资值,因为15-30k后面有k,3-5年经验,不干净 public static int filterSalary(String salary)//过滤数据 { String sal = Pattern.compile("[^0-9]").matcher(salary).replaceAll(""); return Integer.parseInt(sal); }
Pattern.compile("[^0-9]").matcher(salary)
Pattern.compile("[^0-9]").matcher(salary).replaceAll("")
//必须十一位数,包括数字和字母,且以字母开头
Pattern pattern = Pattern.compile("^[a-zA-Z][a-zA-Z0-9]{10}$");//将给定的正则表达式编译到模式中
//判读存款金额是否合法(单次存款金额不超过10000元(包括),且必须是100的整数倍)
Pattern pattern = Pattern.compile("^[1-9][0-9]{0,1}00$|^10000$");
//判断取款金额是否合法(单次取款金额不超过3000(包括)元,且必须是100的整数倍.)
Pattern pattern = Pattern.compile("^[1-3][0-9]{0,1}00$");
更多更好的正则教程,见正则菜鸟教程。
http://www.runoob.com/regexp/regexp-rule.html
replace和replaceAll的区别 :
replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串);
replaceAll的参数是regex,即基于规则表达式的替换。比如,可以通过replaceAll("\\d", "*")把一个字符串所有的数字字符都换成星号;
具体,见
Hadoop MapReduce编程 API入门系列之挖掘来自互联网招聘hadoop岗位的薪资数据(二)
作者:大数据和人工智能躺过的坑
出处:http://www.cnblogs.com/zlslch/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
如果您认为这篇文章还不错或者有所收获,您可以通过右边的“打赏”功能 打赏我一杯咖啡【物质支持】,也可以点击右下角的【好文要顶】按钮【精神支持】,因为这两种支持都是我继续写作,分享的最大动力!