Scala字符串中的替换模式
2018-02-14 本文已影响295人
SunnyMore
用正则表达式匹配一段字符串然后替换它们;因为String
是不可变的,不可以在它上面直接查找然后替换,但是可以新建一个String
,并且新建的String
包含了替换之后的字符;
在Scala中可以在String上调用replaceAll
,eg.
val address = "zhengfangzhonglu 888No. 777"
println(address.replaceAll("[0-9]", "x"))
输出如下:
zhengfangzhonglu xxxNo. xxx
也可以创建一个正则表达式,并在正则表达式上面调用replaceAllIn
方法,eg.
val regex = "[0-9]".r
val newAddress = regex.replaceAllIn("zhengfangzhonglu 888No. 777", "x")
println(newAddress)
输出如下:
zhengfangzhonglu xxxNo. xxx
也可以使用正则表达式的replaceFirstIn
只替换第一个元素,eg.
val newAddress1 = regex.replaceFirstIn("zhengfangzhonglu 888No. 777", "x")
println(newAddress1)
输出如下:
zhengfangzhonglu x88No. 777