gpt4 book ai didi

regex - 使用正则表达式检测和转换字符串中的数字

转载 作者:行者123 更新时间:2023-12-01 23:51:16 25 4
gpt4 key购买 nike

如何使用正则表达式和匹配来替换字符串的内容?特别是我想检测整数并递增它们。像这样:

val y = "There is number 2 here"
val p = "\\d+".r

def inc(x: String, c: Int): String = ???

assert(inc(y, 1) == "There is number 3 here")

最佳答案

使用带有替换函数的 replaceAllIn 是一种方便的写法:

val y = "There is number 2 here"
val p = "-?\\d+".r

import scala.util.matching.Regex.Match

def replacer(c: Int): Match => String = {
case Match(i) => (i.toInt + c).toString
}

def inc(x: String, c: Int): String = p.replaceAllIn(x, replacer(c))

然后:

scala> inc(y, 1)
res0: String = There is number 3 here

Scala 的 Regex提供了一些类似这样的有用工具,包括采用部分函数的 replaceSomeIn 等。

关于regex - 使用正则表达式检测和转换字符串中的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26326080/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com