小花手机号打码

22 阅读1分钟
object PhoneNumberMaskerNoFile {
  def main(args: Array[String]): Unit = {
    // 1. 定义需要处理的文本(可自行修改这段测试文本)
    val originalText =
      """
        |小花,xxx盛世城3楼303号,13617234567。""".stripMargin

    // 2. 定义合法手机号正则表达式(1开头,第二位3-9,共11位数字)
    val phonePattern = "(1[3-9]\d{9})".r

    // 3. 识别手机号并打码(中间4位替换为####)
    val maskedText = phonePattern.replaceAllIn(
      originalText,
      matcher => {
        val phone = matcher.group(1)
        // 前3位 + #### + 后4位
        s"${phone.take(3)}####${phone.takeRight(4)}"
      }
    )

    // 4. 控制台输出结果
    println("===== 原始文本 =====")
    println(originalText)
    println("\n===== 打码后文本 =====")
    println(maskedText)
  }
}