string - 标记化问题

标签 string groovy

我有

def testStr = 'a:*b*c*d'

我想得到
tokens[0]=='a'
tokens[1]=='b*c*d'

我试试
def tokens = testStr.tokenize(':*')

但得到
tokens[0]=='a' 
tokens[1]=='b'
tokens[2]=='c'
tokens[3]=='d'

我怎么能做这件事

最佳答案

tokenize获取可能的 token 列表,因此它在 : 上拆分和 *
您可能想要 split 它需要一个正则表达式来拆分(并返回一个 String[] ):

def testStr = 'a:*b*c*d'

def tokens = testStr.split( /:\*/ )
assert tokens[ 0 ] == 'a'
assert tokens[ 1 ] == 'b*c*d'

关于string - 标记化问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10120402/

相关文章:

java - 如何在 Java 中反转数组?

groovy - 无法安装 HTTPBuilder

groovy - Groovy 中的 'properties' 是什么?

grails - '$'的页面组件模板 'ApplicationSummaryPage'的定义无效,参数必须是Closure或Map and Closure

java - 当 float 完全是整数时,为什么 float 尾部有 .0?

c - sprintf() 精度 0.16 错误

list - Groovy 列表应用闭包

groovy - 在 Groovy 中保存或更新

jquery - 获取href值,存储在变量中并删除http ://

java - 使用正则表达式将缩写重新组合在一起