Android 字符串的一些操作

对一些如“手机号”,“身份证号”,“金额”,以及对字符串的截取和替换、转换等操作

  /**
     * 对手机号码进行处理,
     * 最新手机号码处理正则
     */
    fun phoneNumber(str: String): Boolean {

        val regExp = "^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,1,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$"
        val p: Pattern = Pattern.compile(regExp)
        val m = p.matcher(str)
        return m.matches()
    }
   /**
     * 正则表达式:验证身份证
     * @param idCard
     * @return 校验通过返回true,否则返回false
     */
    val REGEX_ID_CARD = "(^\\d{15}$)|(^\\d{17}([0-9]|X)$)"
    fun  isIDCard( idCard:String):Boolean {
        return Pattern.matches(REGEX_ID_CARD, idCard)
    }
   /**
     * 隐藏手机密码中间四位
     */

    fun phoneNum_hide(phoneNme: String): String {
        return phoneNme.substring(0, 3) + "****" + phoneNme.substring(7, phoneNme.length)
    }
  /**
     * double转String,保留小数点后两位
     * @param num
     * @return
     */
    fun doubleToString(num:Double):String{
        //使用0.00不足位补0,#.##仅保留有效位
        return DecimalFormat("0.00").format(num)
    }

   /**
     * 截取字符串
     */
    fun subString(str: String,start: Int,end: Int): String{
        return str.substring(start,end)
    }      


   /**
     * 截取获得某个字符之前的字符串
     * @param str 需要截取的字符串
     * @param s 字符
     */
    fun sbuStringBefore(str: String,s: String): String{
       return str.substring(0, str.indexOf(s))
    }
    /**
    * 获取截取之后的字符
    * @param str 需要截取的字符串
    * @param s 字符
    */
    fun sbuStringAfter(str: String,s: String): String{
        return str.substring(str.indexOf(s))
    }
   /**
     * 字符串转数组
     */
    fun stringAndarray(str: String?,s: String): ArrayList<String>?{
        val list: ArrayList<String> = arrayListOf()
        val split = str?.split(s)
        for (i in split!!.indices) {
            list.add(split[i])
        }
        return list
    }

    /**
     * 2019-12-31 转换成2019年12月31日
     * @param str 需要截取的字符串
     * @param s 字符
     */
    fun dateReplace(str: String): String{
        val p = Pattern.compile("-")
        val temp = p.split(str)
        val ss = temp[0]+"年"+ temp[1]+"月"+temp[2]
        return ss
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。