Groovy快速入门-7-String

本文聚焦Groovy中String的操作。在实际开发里,超50%代码与字符串处理相关,熟悉字符串操作能加快业务代码实现。文中介绍了字符串拼接、多行表示、索引和长度、反转、切割、替换和大小写转换、转List和数组等常见操作。

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

这篇来学习String, 在Groovy中String是一个数据类型,在Java中String是一个对象。这篇很重要,实际开发中,百分之50以上的代码都和字符串处理有关。可以这么说,你字符串操作越熟悉,你实现业务代码就更快,特别是在CI CD pipeline代码中。

 

1.字符串拼接

这个代码中使用场景非常多,程序员最喜欢的输出语句就要用到这个。在Groovy中实现字符串拼接有好几个方法,来看看这段代码。

package com.anthony.test

def name = "Anthony"
println name 
println "My name is " + name
println "My name is ".concat(name)
println "My name is ${name}"

输出结果

Anthony
My name is Anthony
My name is Anthony
My name is Anthony

 

2.多行字符串表示

package com.anthony.test

def s1 = """这是Groovy编程语言教程
我们正在学习
String的基本使用"""
println s1

如果我们需要某一些文字多行输出,我们使用""xxxx""",特别是保持原样格式输出。

当然也可以这样写

package com.anthony.test

def s1 = '''这是Groovy编程语言教程
我们正在学习
String的基本使用'''
println s1

 

3.字符串索引和长度

package com.anthony.test

def name = "Anthony"
println name.length()  // 7
println name[2]   //t

再举例一个索引相关的方法

package com.anthony.test

def name = "11.13.19.01.0"
// 我只想得到11.13.19.01,怎么做
println name.substring(0, name.lastIndexOf("."));

这个获取子串的方法是最优秀的代码,当然还有其他思路,例如直接substring(0,11), 这个11是我们数出来的,万一以后变了呢。

println name.substring(0, name.length() - 2)
println name.substring(0, 11)
println name[0..-3]

上面三个都有一个特点,硬编码, -2 11 -3都是我们数出来的。这种代码很烂,万一这个版本号规则变化了呢,当然点号隔开这个规则不会变化。

 

4.字符串反转

这个题目经常考,当然大部分是让你手写代码实现,不准你使用内置api方法完成,在Java中,api的话,我们可以借助StringBuider来实现,或者从后往前for循环打印出来。看看groovy很简单,索引就可以搞定。

package com.anthony.test

def name = "Anthony"
println name[-1..0]
ynohtnA

 

5.字符串切割

package com.anthony.test

// 返回字符串数组
def st = "This is a groovy class"
println st.split(" ")

// 返回list集合
println st.tokenize(" ")

这两种切割方法要会使用,主要是切割这个正则表达式如何写,上面是空格切割。

 

6.字符串替换和大小写转换

package com.anthony.test

// 返回字符串数组
def st = "This is a groovy class"
println st.replace("class", "session")

println st.toLowerCase()
println st.toUpperCase()
This is a groovy session
this is a groovy class
THIS IS A GROOVY CLASS

 

7.字符串转成List和数组

package com.anthony.test

// 转list
def st = "This is a groovy class"
println st.toList()

// 转数组
println st.toCharArray()
[T, h, i, s,  , i, s,  , a,  , g, r, o, o, v, y,  , c, l, a, s, s]
This is a groovy class

 

8.字符串另外两个定义方式

这两个很少用,语法不知道从哪个语言学过来的

package com.anthony.test

def st1 = /is green sky/
def st2 = $/is blue sky/$
println st1
println st2

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值