gpt4 book ai didi

regex - 在Groovy中使用正则表达式替换字符串中的所有匹配项

转载 作者:行者123 更新时间:2023-12-03 16:01:43 27 4
gpt4 key购买 nike

如果只有一种情况,我的代码将起作用:

def result = "Text 1,1"
def matches = (result =~ /^.+\s([0-9],[0-9])$/ ).with { m -> m.matches() ? result.replace(/${m[ 0 ][ 1 ]}/, 'X'+m[ 0 ][ 1 ]+'X') : result }
assert "Text X,X" == matches

如果我的字符串包含多个匹配项,该怎么办?
def result = "aaaa Text 1,1 Text 2,2 ssss"

谢谢

最佳答案

您可以将以上内容替换为:

def matches = result.replaceAll( /[0-9],[0-9]/, 'X,X' )

或者,您可以执行以下操作:
def result = "aaaa Text 1,1 Text 2,2 ssss"

result = result.replaceAll( /[0-9],[0-9]/ ) { m -> "X${m}X" }

assert result == 'aaaa Text X1,1X Text X2,2X ssss'

关于regex - 在Groovy中使用正则表达式替换字符串中的所有匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20397183/

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