手机号换码

18 阅读2分钟

替换手机号内容

1.从根目录下读出address.txt的内容

2.找到其中的合法的手机号,把中间4位(3—4—4)用*代替

3.把结果写入到address_new.txt文件中

eg1:

package reg

object reg04 {
  def main(args: Array[String]): Unit = {
    //1.从根目录下读出address.txt的内容
    val context = scala.io.Source.fromFile("address.txt").mkString

    println("读到的文件内容如下:")
    println(context)
    //2.找到其中的合法的手机号,把中间4位(3—4—4)用*代替
    val reg = "1[356789]\d{9}".r

    //println("找到合法的手机号如下:")
    //reg.findAllIn(context).foreach(ele=>println(ele))


    //在content中,把所有通过正规找到的内容,换成“abc”
    val newContent = reg.replaceAllIn(context, ele =>{
      println(ele.toString())
      "手机号前三位"+"*****"+"手机号后4位"
    })
    println("替换后的内容如下:")
    println(newContent)
    //3.把结果写入到address_new.txt文件中
  }

}

eg2:

package reg

import java.io.FileWriter

object reg04 {
  def main(args: Array[String]): Unit = {
    //1.从根目录下读出address.txt的内容
    val context = scala.io.Source.fromFile("address.txt").mkString

    println("读到的文件内容如下:")
    println(context)
    //2.找到其中的合法的手机号,把中间4位(3—4—4)用*代替
    val reg = "1[356789]\d{9}".r

    //println("找到合法的手机号如下:")
    //reg.findAllIn(context).foreach(ele=>println(ele))


    //在content中,把所有通过正规找到的内容,换成“abc”
    val newContent = reg.replaceAllIn(context, ele =>{
      val phone = ele.toString()
      println(ele.toString())
      //"手机号前三位"+"*****"+"手机号后4位"
      phone.substring(0, 3) + "****" + phone.substring(7)
    })
    println("替换后的内容如下:")
    println(newContent)
    //3.把结果写入到address_new.txt文件中
    val fileWriter = new FileWriter("address_new.txt")
    fileWriter.write(newContent)
    fileWriter.close()
  }

}

eg3:

package reg

import java.io.FileWriter

object reg04 {
  def main(args: Array[String]): Unit = {
    //1.从根目录下读出address.txt的内容
    val context = scala.io.Source.fromFile("address.txt").mkString

    println("读到的文件内容如下:")
    println(context)
    //2.找到其中的合法的手机号,把中间4位(3—4—4)用*代替
    val reg = "(1[356789]\d\d)(\d{4})(\d{3})".r
    //println("找到合法的手机号如下:")
    //reg.findAllIn(context).foreach(ele=>println(ele))


    //在content中,把所有通过正规找到的内容,换成“abc”
    val newContent = reg.replaceAllIn(context, ele =>{
      println(ele.group(0))
      println(ele.group(1))
      println(ele.group(2))
      println(ele.group(3))
      //val phone = ele.toString()
      //println(ele.toString())
      //"手机号前三位"+"*****"+"手机号后4位"
      //phone.substring(0, 3) + "****" + phone.substring(7)
      ele.group(1) + "-****-" + ele.group(3)
    })
    println("替换后的内容如下:")
    println(newContent)
    //3.把结果写入到address_new.txt文件中
    val fileWriter = new FileWriter("address_new.txt")
    fileWriter.write(newContent)
    fileWriter.close()
  }

}

image.png