zoukankan      html  css  js  c++  java
  • 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岗位的薪资数据(二)

  • 相关阅读:
    STM32固件库和自定义工程模板
    STM32存储器映射和寄存器映射
    VScode搭建OpenCV环境
    手写数字识别——基于LeNet-5卷积网络模型
    敏感信息泄露
    Google的高级搜索——Google hack
    session fixation攻击
    认证和会话管理漏洞
    SQLmap
    基于时间型SQL盲注
  • 原文地址:https://www.cnblogs.com/zlslch/p/7646059.html
Copyright © 2011-2022 走看看