object scala08 {
def main(args: Array[String]): Unit = {
val content = scala.io.Source.fromFile("address.txt").mkString
println("读入进来的内容是:")
println(content)
val reg = "(1[35678]\d{2})(\d{3})(\d{4})".r
val newContent = reg.replaceAllIn(content, m => {
println(m.group(0))
println(m.group(1))
println(m.group(2))
println(m.group(3))
m.group(1) + "****" + m.group(3)
})
println("替换之后的内容是:")
println(newContent)
}
}
- 核心逻辑:通过
Regex匹配手机号并分组,使用replaceAllIn替换实现脱敏;
- 关键正则:
(1[35678]\d{2})(\d{3})(\d{4}) 精准匹配 11 位手机号并分组;
- 脱敏规则:保留前 3 位和后 4 位,中间 3 位替换为
****,符合通用的手机号脱敏规范。

package imp01
object scala {
implicit def double2Int(d: Double): Int = {
println("double2Int被调用了。。。。")
d.toInt
}
def main(args: Array[String]): Unit = {
var i:Int = 1.1
var d:Double = 1
}
}
