要求:
- 从文本文件中读入一些包含手机号的字符串
- 把手机号识别出来
- 把手机号的中间 4 位打码,保存到一个新的文本文件中
第一步:创建一个“input.txt”的文件
第二步:在文件中添加信息
第三步:写代码并运行
def main(args: Array[String]): Unit = {
// 1. 读入文件=根目录下的address.txt
val source = scala.io.Source.fromFile("address.txt").mkString
// println(source)
// 2. 识别手机号
// val reg = "1[3456789]\\d{9}".r
val reg = "1([3456789]\\d)(\\d{4})(\\d{4})".r
// 3. 替换
// group 分组
// group(0) 匹配到的整个字符串
// group(1) 匹配到的第1个括号
// group(2) 匹配到的第2个括号
// group(3) 匹配到的第3个括号
val newSource = reg.replaceAllIn(source, m => {
println(m.group(0))
println(m.group(1))
println(m.group(2))
println(m.group(3))
m.group(1) + "‌****‌" + m.group(3)
// println(m.toString)
// m.toString
})
// 4. 输出文件
val writer = new java.io.PrintWriter("address_new.txt")
writer.write(newSource)
writer.close()
}
第四步:运行成功后会生成一个新的“output.txt”文件