相关文章推荐
不羁的桔子  ·  百度一下·  5 月前    · 
快乐的高山  ·  福建农信 计算机 ...·  1 年前    · 
不羁的番茄  ·  通用越狱教程 · ...·  1 年前    · 
冷静的小刀  ·  centos7 ...·  1 年前    · 
本文深入探讨了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程序顺利集成,并立即为您的应用程序提供强大的功能,包括脚本编写功能,特定领域语言编写,运行时 编译时元编程以及函数式编程。 字符串 操作 // 单行注释 字符串 操作 字符串 表示方式: 单引号、双引号、三单双引号 字符串 操作 :截取 字符串 、判断某个 字符串 是否存在、获取 字符串 长度、字符反转等…… //定义一