scala 正则表达式 test

37 阅读1分钟
package reg

import java.io.FileWriter

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

    //2.找到其中的合法的手机号 将中间4位(3-4-4)用*代替
    val reg = "1[234567]\d{9}".r
//    println("找到的合法手机号如下: ")
//    reg.findAllIn(content).foreach(ele => println(ele))

    //在content中 将所有通过正则找到的内容:换成"abc"
    val newContent = reg.replaceAllIn(content,ele => {
      val phone = ele.toString()
//      println(ele.toString())

//      "手机号前3位" + "****" + "手机号后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()
  }
}

image.png