字符串分割
"abc,def".split(",")
// 如果使用 Pipe(|) 进行分割:
"abc|def".split("\\|")
将字符串作为文本行进行遍历
方法一、使用 eachLine 进行遍历:
def multiline = '''\
Groovy is closely related to Java,
so it is quite easy to make a transition.
'''
multiline.eachLine {
if (it =~ /Groovy/) {
println it // Output: Groovy is closely related to Java,
}
}
方法二、先分割,后遍历:
def multiline = '''\
Groovy is closely related to Java,
so it is quite easy to make a transition.
'''
def lines = multiline.split("\\r?\\n");
for (String line : lines) {
println line
}
判断字符串是否匹配正则表达式
使用 ==~ 操作符:
assert "2009" ==~ /\d+/
String regex = /^somedata(:somedata)*$/
assert "somedata" ==~ regex
使用正则表达式进行字符串替换
def mphone = "1+555-555-5555"
println mphone.replace(/5/, "3")
// 1+333-333-3333
println mphone.replaceFirst(/5/, "3")
// 1+355-555-5555
字符串追加(printf alternative)
据我们所知,函数 printf 只能为字符串追加空格,以使其达到某个长度。
在 Groovy 中,可以使用 padLeft() 或者 padRight() 方法:
println "123123".padLeft(10, "#") // ####123123
相关文章
参考文献