「Groovy」- String(学习笔记) @20210213

字符串分割

Groovy - split() - Tutorialspoint
java - Grails: Splitting a string that contains a pipe - Stack Overflow

"abc,def".split(",")

// 如果使用 Pipe(|) 进行分割:

"abc|def".split("\\|")

将字符串作为文本行进行遍历

Java String Split Newline - Grails Cookbook
Groovy Goodness: Working with Lines in Strings - Messages from mrhaki

方法一、使用 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

相关文章

「Apache Groovy」- 常用列表(List)操作

参考文献

Simple Groovy replace using regex - Stack Overflow
java - How to check if a String matches a pattern in Groovy - Stack Overflow
Pad a String with Zeros or Spaces in Java | Baeldung
How can I pad a String in Java? - Stack Overflow


上一篇:windows下安装gradle


下一篇:「Groovy」- 处理路径地址 @20210210