本文深入探讨了Groovy语言中字符串切割方法split()和tokenize()的区别与应用场景。split()返回字符串数组,保留空字符串,支持正则;而tokenize()返回List,不保留空字符串,每个字符切割,不支持正则。适合不同需求的字符串处理。
摘要生成于
,由 DeepSeek-R1 满血版支持,
这篇来一个字符串切割的练习,很多人知道字符串切割是用split()方法,但是很少人知道在groovy中,有一个方法叫tokenize(),这两个方法其实都可以实现字符串切割,但是两者还是有区别的,本篇就来学习和掌握两者的共同点和区别。我也是,之前第一选择就是使用split()函数,直到知道有tokenize()方法,
1.split()得到结果是一个字符串数组,tokenise()得到结果是一个List
def demo_string = "你好 Anthony"
out1 = demo_string.split()
out2 = demo_string.tokenize()
println out1
println out2
boolean b1 = out1 instanceof String[]
boolean b2 = out2 instanceof List
println b1
println b2
2.split()得到结果允许保留空字符串,tokenize()得到结果是List,不会保留空字符串
def demo_string = "Hello Anthony"
out1 = demo_string.split("l")
out2 = demo_string.tokenize("l")
println out1
println out2
测试结果:
[He, , o Anthony]
[He, o Anthony]
上面这个例子,由于切割之后存在空的字符串,如果有些场景需要遍历切割之后结果集,如果元素为空,调用有些方法可能存在空指针,特别是在Java语言中,
所以有经验的程序员出于这个考虑,大部分情况下使用tokenize()来进行字符串切割
。
3.tokenize()每一个字符都切割出来,而split()会一个单词切割出来
def demo_string = "Hello world"
out1 = demo_string.split('lo')
out2 = demo_string.tokenize('lo')
println out1
println out2
[Hel, world]
[He, w, r, d]
从这个案例来说,如果你切割之后只拿切割的左边部分,右边不考虑,而且考虑是否空值,那么建议选择tokenize()方法。如果你切割之后,右半边有元素也需要,那么选择split()是最合适的,毕竟右边如果用tokenize()会切割乱七八糟,造成字符串字符丢失。
4.split()中分隔符可以使用正则,但是tokenize()不支持正则
def demo_string = "hello world 123 herload"
out1 = demo_string.split(/\d{3}/)
println out1
上面/xxxx/ 中的xxx部分是正则表达式,测试结果:
[hello world , herload]
本篇就总结了下split()和tokenize()两种常见的字符串分割的相同和区别的地方。下一篇的练习,我们会用到字符串分割。
split
分词只把单词分出来,形成由单个单词构成的
字符串
;
tokenize
把单词
和
标点符号都分出来,形成由单词
和
标点构成的一个
字符串
变量;
但是二者分出的词都是区分大小写的,使用停用词表时,只会删除小写的停用词。
所有脚本必须从脚本文件夹内部运行!
在
jenkins
_master上构建演示项目
运行buildOnMasterOnly.sh来构建并启动
jenkins
_master
-
container。
等待直到
jenkins
_master
-
container完全启动(检查是否可以加载 )。
在上登录到
jenkins
: 用户:admin 密码:1
2
3
您应该看到作业“ demo
-
project”,它克隆了github.com/mai13drd/demo
-
project,并且已经配置了peass
-
ci buildstep。
构建演示项目以衡量最后两次提交之间的性能差异。
建立demo
-
pipeline
_masterOnly
此步骤将执行管道构建。
如果之前执行上述步骤
Groovy
的基础语法
Groovy
的语法融合了 Ruby、Python
和
Smalltalk 的一些最有用的功能,同时保留了基于 Java 语言的核心语法。对于Java 开发人员,
Groovy
提供了更简单的替代语言,且几乎不需要学习时间。
Groovy
的语句
和
Java类似,但是有一些特殊的地方。例如语句的分号是可选的。如果每行一个语句,就可以省略分号;如果一行上有多个语句,则需要用...
虽然这不是本意,但是我们完全将
Groovy
作为脚本语言使用。我们可以像 Java 那样(严谨?)定义变量的类型,又可以像 PHP 那样不用定义变量类型,还能自由使用 Maven 仓库中的包。
Groovy
满足我们对脚本语言的全部期望。当然,这些都是个人感受,肯定不符合软件工程的实践要求,但是我们用的很开心。
该笔记将整理:在
Groovy
中,常用的
字符串
操作
,以及常见问题处理。
# 0
2
/19/
2
0
2
1 添加模
Groovy
是一种功能强大,可选类型
和
动态 语言,支持Java平台。旨在提高开发人员的生产力得益于简洁,熟悉且简单易学的语法。可以与任何Java程序顺利集成,并立即为您的应用程序提供强大的功能,包括脚本编写功能,特定领域语言编写,运行时
和
编译时元编程以及函数式编程。
字符串
操作
// 单行注释
字符串
操作
字符串
表示方式: 单引号、双引号、三单双引号
字符串
操作
:截取
字符串
、判断某个
字符串
是否存在、获取
字符串
长度、字符反转等……
//定义一