从Groovy中的字符串中提取给定的数字字符串数组可以通过正则表达式和字符串处理方法来实现。
首先,我们可以使用正则表达式来匹配字符串中的数字字符串。在Groovy中,可以使用findAll
方法结合正则表达式来提取匹配的字符串。例如,假设我们要从字符串中提取所有的数字字符串,可以使用以下代码:
def str = "abc123def456ghi789"
def numbers = str.findAll(/\d+/)
上述代码中,正则表达式\d+
表示匹配一个或多个数字字符。findAll
方法会返回一个包含所有匹配结果的列表。
接下来,我们可以将匹配到的数字字符串转换为数字数组。可以使用collect
方法结合闭包来实现。例如,假设我们要将匹配到的数字字符串转换为整数数组,可以使用以下代码:
def intArray = numbers.collect { it.toInteger() }
上述代码中,collect
方法会遍历列表中的每个元素,并通过闭包将每个元素转换为整数。
完整的代码如下:
def str = "abc123def456ghi789"
def numbers = str.findAll(/\d+/)
def intArray = numbers.collect { it.toInteger() }
println intArray
输出结果为:[123, 456, 789]
关于Groovy中字符串处理、正则表达式和闭包的更多详细信息,可以参考腾讯云的Groovy开发文档:Groovy开发文档