我一直在阅读正则表达式,我认为这可以工作,但似乎并不想工作。我需要做的就是删除电话号码中的前导1(如果存在)。

所以:

def mphone = 1+555-555-5555
mphone.replace(/^1/, "")

这个输出不应该+ 555-555-5555吗?

最佳答案

我发现您的代码中有两个错误。第一个可能是拼写错误:您没有在电话号码两边加上引号,所以它是一个整数:1 + 555-555-5555 = -5554
另外,您应该使用replaceFirst,因为String中没有以pattern作为第一个参数的方法replace。这有效:

def mphone = "1+555-555-5555"
result = mphone.replaceFirst(/^1/, "")

关于regex - 使用正则表达式进行简单的Groovy替换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9788983/

10-11 02:23