gpt4 book ai didi

regex - 组捕获

转载 作者:行者123 更新时间:2023-12-02 12:07:27 24 4
gpt4 key购买 nike

大家好,我想弄清楚如何在 kotlin 中使用从正则表达式中捕获的组的结果,而我一生都无法在网上找到任何东西。我基本上只是想简单地去掉“k”

    var line = "4353453555k fgafg 4535k"
line.replace("(\\d*)[k]".toRegex(), "replace with group capture")

我想要的结果:
    4353453555 fgafg 4535

最佳答案

删除 k出现在数字之后,您可以使用

line = line.replace("""(\d+)k""".toRegex(), "$1")

在这里, (\d+)k匹配并捕获到组 1 中的一位或多位数字,然后匹配 k ,以及 $1在替换模式中,将 Group 1 值插入到结果字符串中。

或者,您可以使用基于后视的解决方案:
line = line.replace("""(?<=\d)k""".toRegex(), "")

online Kotlin demo .
(?<=\d)k模式匹配 k仅当它前面紧跟一个数字时才为 char。 (?<=\d)模式是一个积极的后视,需要在当前位置的左侧出现它的模式,一个数字(不将匹配的文本放入匹配缓冲区,因此替换为空字符串)。

关于regex - 组捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48696502/

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