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

本文介绍了Groovy中如何使用split()方法进行字符串分割,包括以特定字符如逗号或管道进行分割。此外,展示了如何遍历多行字符串,既可以用eachLine方法,也可以先分割再遍历。还讨论了正则表达式在判断字符串匹配和替换中的应用,并给出了实例。最后提到了Groovy中字符串追加的技巧,如使用padLeft()或padRight()方法实现字符串填充。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

字符串分割

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值