package reg
/**
*目标:
* 13612345678 -> 136****5678
*任务:从一个文本文件中(自己准备一个),读出一段内容,把其中的手机号识别出来,并打码
* address.txt
* 湖北省 潜江市 泰丰办事处 青龙沟小区 X栋3单元 范先生 13612345678 ,13678245678
*
*/
object reg04 {
def main(args: Array[String]): Unit = {
//定义一个正则表达式
val content= scala.io.Source.fromFile("address.txt").mkString
println("请输入进来的内容:")
println(content)
//写一个手机号的正则
val reg = "i[35678]\d{9}".r
//val reg = "SB".r
//匹配输出
reg.findAllIn(content).foreach(println)
//替换:正则的典型的应用场景
//replaceAllIn,全部替换。
//在content中通过正则去找字符串,找到之后,就换成指定的内容,并把最终结果保存到newContent
// val newContent= reg.replaceAllIn(content,"嘿嘿,这儿有个手机号")
val newContent= reg.replaceAllIn(content,m => {
println("")
//println()
//"手机号:"+m
//m的前三位+”****"+m的后四位
m.toString().substring(0,3)+"****"+m.toString().substring(7)
})
println("替换之后的内容")
println(newContent)
}
}