如何访问 replaceAllIn() 计数器?
How to access the replaceAllIn() counter?
我正在使用
val str2 = regex.replaceAllIn(str1, "other")
并且需要计算替换次数...有办法检索内部 replaceAllIn
计数器的值吗?
PS:这在其他语言中很常见 (example),所以我假设 Scala 提供了类似的东西。
再走一步,但您可以 findAllIn
并计算找到的数目。然后做 replaceAllIn
.
scala> "foo".r.findAllIn("barbazfoobazfoo").size
res7: Int = 2
scala> val r = "x".r
r: scala.util.matching.Regex = x
scala> var i = 0
i: Int = 0
scala> r.replaceAllIn("xooxxox", m => { i += 1 ; "X" })
res0: String = XooXXoX
scala> i
res1: Int = 4
将在后台执行 appendReplacement
。
我正在使用
val str2 = regex.replaceAllIn(str1, "other")
并且需要计算替换次数...有办法检索内部 replaceAllIn
计数器的值吗?
PS:这在其他语言中很常见 (example),所以我假设 Scala 提供了类似的东西。
再走一步,但您可以 findAllIn
并计算找到的数目。然后做 replaceAllIn
.
scala> "foo".r.findAllIn("barbazfoobazfoo").size
res7: Int = 2
scala> val r = "x".r
r: scala.util.matching.Regex = x
scala> var i = 0
i: Int = 0
scala> r.replaceAllIn("xooxxox", m => { i += 1 ; "X" })
res0: String = XooXXoX
scala> i
res1: Int = 4
将在后台执行 appendReplacement
。