Scala编程实战(原书第2版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.8 字符串的模式替换

问题

你想在字符串中搜索某个正则表达式并将其替换。

解决方案

由于字符串是不可变的,所以不能直接对它进行查找并替换的操作,但仍然可以创建一个新的字符串,其中包含被替换的内容。有几种方法可以做到这些。

可以调用字符串的replaceAll方法,并将结果赋给一个新的变量:

也可以创建一个正则表达式对象,并在其上调用replaceAllIn,与上面一样记得要把结果赋给一个新的变量:

replaceFirst可以只替换第一次出现的模式:

同样,也可以使用Regex对象的replaceFirstIn:

另见

·scala.util.matching.Regex文档(https://oreil.ly/fZFEM)包含了更多关于创建和使用Regex的例子。