groovy之字符串
来源:互联网 发布:计算机远程控制软件 编辑:程序博客网 时间:2024/05/16 04:34
文本文字以字符链的形式表示被称作字符串。脚本语言在字符串处理方面比主流的应用程序开发语言做的更好。Groovy就提供了许多附加的特性。在Groovy中有两种风格的字符串:String(java.lang.String)和GString(groovy.lang.GString)。GString允许有占位符而且允许在运行时对占位符进行 解析和计算。
字符串方法
与java不同,在GString中提供了多种表示字符串的方法,分别是单引号字符串、双引号字符串、三单引号字符串、三双引号字符串、斜杠字符串和$修饰的斜杠字符串。
单引号字符串
单引号字符串是一系列被单引号包围的字符,是普通的java.lang.String。不支持插值。
- 1
- 2
三单引号字符串
三单引号字符串是一列被三个单引号包围的字符,是普通的java.lang.String。不支持插值。
- 1
- 2
三单引号字符串是多行的。你可以使字符串内容跨越行边界,不需要将字符串分割为一些片段,不需要连接,或换行转义符:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
双引号字符串
双引号字符串是一列被双引号包围的字符,如果没有插值表达式,双引号字符串就是普通的java.lang.String。如果有插值存在则是groovy.lang.GString实例:
任何Groovy表达式可以在所有字符文本进行插值,除了单引号和三单引号字符串。插值是使用占位符上的字符串计算值替换占位符的操作。占位符表达式是被
这里是一个占位符引用局部变量的字符串:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
当占位符包含一个箭头时:${->}。表达式实际上是一个闭包表达式:
- 1
- 2
延迟加载
嵌入的闭包表达式仅仅允许携带0或者1个参数。
闭包作为表达式比普通插值表达式有一个很有用的特性:延迟加载。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
GString和String的hascode不同
虽然插值字符串可以代替普通Java字符串,字符串相同的两者还是有区别:它们的hashCode是不同的。普通Java字符串是不可变的,而一个GString依赖于插入的值,它的String是可变的。即使有相同的字符串结果,GString和String也没有相同的hashCode。
- 1
- 2
- 3
- 4
三双引号字符串
三双引号字符串与双引号字符串相同,增加多行,像三单引号字符串一样。
斜杠字符串
除了通常的带引号字符串,groovy提供斜杠字符串,使用/作为分隔符。斜杠字符串对于定义正则表达式和模式是特别有用的,因为不需要转义反斜杠。只有正斜杠需要反斜杠转义。斜杠字符串支持多行,支持插值。
字符串方法
Groovy通过包含附加方法的方法扩展了JDK中的类:center、getAt、leftShift等等。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
tokenize() vs split()
1.split()返回string[], tokenize()返回list
2.tokenize()忽略空字符串
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
3.tokenize()使用字符串内的所有字符
- 1
- 2
- 3
4.split()可以使用正则表达式
- 1
- 2
matches()
对正则表达式感兴趣的读者可以看一下这篇文章正则表达式30分钟入门教程。
正则表达式的简单规则
\b :单词的开始或者结尾
\w :匹配字母或者数字或者下划线或汉字
\d :匹配数字
{n}:表示匹配前一个规则,重复n次
. :匹配除了换行符以外的任意字符
* :*前边的内容可以连续重复使用任意次以使整个表达式得到匹配
+ :与*相似,匹配一次或更多次数。
\s :匹配任意的空白符
^ :匹配字符串的开始
- groovy之字符串
- Groovy学习之字符串的使用
- Groovy字符串
- 【Groovy手札】Groovy的字符串
- groovy字符串处理
- Groovy使用字符串
- Groovy学习之资料篇
- Groovy 我之初见
- Groovy学习之资料篇
- Groovy探索之Gstring
- Groovy学习之资料篇
- Groovy探索之反射
- Groovy之旅
- Groovy 之文件操作
- Groovy 之 Closure
- groovy之旅
- groovy之范围特性
- groovy之正则表达式
- Spring Boot 学习
- Android 震动和自定义播放铃声
- 11.08 JaveScript基础
- 好的技术网站
- Android Json解析
- groovy之字符串
- 大话设计模式——观察者模式(二)
- CTS如何继续上一次测试
- 2017 年北京 QCon 参会总结
- 11 月7日学习心得及笔记
- java设计模式(一)-策略模式
- FP-growth算法
- 【Oracle】tablespace创建表空间,临时表空间,创建用户和指定该用户的表空间临时表空间
- “访问美术馆”