ZetCode

Groovy 字符串操作

最后修改日期:2025 年 3 月 22 日

Groovy 为您提供了强大的字符串处理工具集,将简洁性与强大功能融为一体。本教程通过实用的实际示例,深入探讨了字符串连接、插值和操作等关键字符串操作,让文本处理变得轻而易举。

字符串连接

在 Groovy 中,字符串可以使用 + 运算符或 concat 方法连接在一起,让您可以逐个构建消息。

StringConcatenation.groovy
def user = "Alice"
def action = "logged in"
def logEntry = user + " " + action

println logEntry

logEntry 使用空格将 useraction 组合起来,创建一条基本的日志行。将其想象成在系统监控器中拼接审计跟踪——简单可靠。

字符串插值

Groovy 的 ${} 插值将变量直接嵌入字符串中,使动态文本像对话一样流畅——无需笨拙的粘合剂。

StringInterpolation.groovy
def name = "Bob"
def welcome = "Hi, ${name}, enjoy your stay!"

println welcome

welcome 无缝地嵌入 name,个性化问候语。想象一下在酒店应用程序中,为客人量身定制入住消息,毫不费力——优雅且易于阅读。

字符串操作

Groovy 提供了 toUpperCasetoLowerCasereverse 等便捷方法,可以按照您的喜好转换和修改字符串。

StringManipulation.groovy
def title = "Sale Event"

println title.toUpperCase()
println title.toLowerCase()
println title.reverse()

title 被重塑了三种方式——大写、小写或翻转。这可以为促销横幅增添趣味,调整大小写以强调,或在营销工具中创建新颖的显示效果。

字符串长度和子字符串

Groovy 允许您使用 length 度量字符串,并使用 substring 截取部分字符串,非常适合精确地解析文本。

StringLengthSubstring.groovy
def code = "ORDER12345"

println code.length()
println code.substring(5, 9)

code 显示其长度并产生数字切片。想象一下在电子商务系统中解析订单 ID,提取关键数字进行验证或显示——整洁有序。

字符串拆分

split 方法使用分隔符将字符串拆分成数组,将混乱的文本变成可管理的片段。

StringSplitting.groovy
def csvLine = "Alice,25,F"
def fields = csvLine.split(',')

fields.each { field ->
    println field
}

csvLine 被拆分为姓名、年龄和性别字段。这类似于数据导入器中处理 CSV 文件,使用 Groovy 的 each 方法将行拆分成可操作的位,以便轻松迭代。

字符串替换

Groovy 的 replacereplaceAll 方法可以替换字符串部分,提供快速修复或基于模式的重构。

StringReplacement.groovy
def feedback = "Service was good"

println feedback.replace("good", "great")
println feedback.replaceAll("e", "3")

feedback 将“good”升级为“great”,或将“e”替换为“3”。这可以调整反馈应用程序中的用户评论,或为有趣的过滤器掩码文本——这是 Groovy 替换功能的两个方面。

字符串填充

Groovy 的 padLeftpadRight 方法使用填充来对齐字符串,这对于格式化固定宽度的输出非常有用。

StringPadding.groovy
def id = "42"
def paddedId = id.padLeft(5, "0")

println paddedId

paddedId 使用零将“42”填充到五位数。这适用于票务系统,确保 ID 在报告或显示中整齐对齐——简单的一致性。

字符串连接

Groovy 的 join 方法使用分隔符将列表连接成一个字符串,与 split 相反,用于无缝组装。

StringJoining.groovy
def tags = ["news", "tech", "groovy"]
def tagLine = tags.join(" | ")

println tagLine

tagLine 使用“ | ”连接 tags,创建可读的列表。想象一下博客文章标签——将关键字连接成一个时尚、用户友好的字符串,用于侧边栏或页脚。

使用正则表达式匹配字符串

Groovy 的正则表达式支持通过 =~findAll 搜索模式,以精细的方式提取匹配项或测试字符串。

StringRegex.groovy
def text = "Contact: alice@site.com, bob@site.com"
def emails = text.findAll(/[\w\.-]+@[\w\.-]+/)

println emails

emails 使用正则表达式模式提取电子邮件地址。这可以为联系人抓取器提供支持,从文本中收集电子邮件以供 CRM 工具使用——正则表达式的神奇之处。

处理字符串的最佳实践

来源

Groovy 字符串文档

本教程深入探讨了 Groovy 的字符串处理能力,从拼接、切片到时尚的文本润色。有了这些工具,您将能够轻松地塑造字符串,以 Groovy 的热情处理从日志到用户界面的各种任务。

作者

我的名字是 Jan Bodnar,我是一名充满激情的程序员,拥有多年的编程经验。我自 2007 年以来一直在撰写编程文章。到目前为止,我已撰写了 1400 多篇文章和 8 本电子书。我在编程教学方面拥有八年以上的经验。

列出 所有 Groovy 教程