Scala:如何使用原始匹配值替换字符串

时间:2016-10-12 15:17:36

标签: regex scala

有没有办法使用原始匹配值替换文本中的某些字符串?
例如,我想用小数替换所有整数,如下例所示:

"hello 45 hello 4 bye" --> "hello 45.0 hello 4.0 bye"

我可以将所有数字与findAllIn匹配,然后替换它们,但我想知道是否有更好的解决方案。

2 个答案:

答案 0 :(得分:2)

使用RegularExpressions,您可以使用$1来获取第一个捕获组的结果(在括号中):

val regex = "(\\d+)".r
val text = "hello 45 hello 4 bye"
val result = regex.replaceAllIn(text, "$1.0")
// result: String = hello 45.0 hello 4.0 bye

答案 1 :(得分:0)