groovy有两种字符串:String和GString
GString即支持占位插值符${}的字符串。

<>1.四类字符串

1.单引号字符串
def x = "123" def str = 'abc' //不可变字符串,不支持占位插值符$ def str1 = 'abc${x}'
//无法解析${x} 结果为abc${x}
2.双引号字符串
def x = "123" def str = "abc${x}" //可变字符串,支持占位插值符$ 结果为abc123,{}可以省略
3.三个单引号字符串
def x = "123" def str = '''abc${x}''' //可以多行输入,不支持占位插值符$,结果为abc${x} def str1 =
''' hello world ''' //结果为 hello world
4.三个双引号字符串
def x = "123" def str = """abc $x""" //可以多行输入,支持占位插值符$,结果为abc 123
总结:
只有双引号或者三个双引号的字符串才能成为GString,在${ }之间可以写任意代码。
要注意的是:
$与要替换的变量之间不能用空格和其它符号。
def x = "123" def str = "$ {x}" //会报错 def str1 = "$ x" //会报错 def str2 = "$(x)"
//会报错
当替换的变量要调用函数时不能省略{ }
def x = 123 def str = "$x.toString()" //会报错 def str = "${x.toString()}" //正确写法
<>2.字符串方法:split()/tokenize()

基本和java的一样,这里主要介绍一下split和tokenize函数的不同。两个函数都是根据给出的字符/字符串切割字符串。不同之处有三个。
2.1返回值类型不同
def str = "hello,world" println str.split().class //返回值为字符串数组 println str.
tokenize().class //返回值为list
2.2 split会保留切割后产生的空格,tokenize自动去除空格
def str = "hello,world" println str.split("l") //[he,,o,wor,d] println str.
tokenize("l") //[he,o,wor,d]
2.3 split用给出的字符串整体切割,tokenize用给出的字符串的字符元素切割
def str = "hello,world" println str.split("lo") //用"lo"切割,[hel, ,world]
println str.tokenize("lo") //用"l","o"切割,[he, ,w, r, d] 注意:此处",w"是一个整体,不是连续的两个逗号
println str.tokenize("el") //用"e","l"切割,[h, o ,wor, d]

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信