字符串和正则表达式

1. 字符串字面值:

Groovy中可以使用单引号、双引号或三引号("""aaa""")来封装字符串。三引号表示的字符串可以包含多行文本。

使用单引号封装的字符串的值就是所列出的字符序列本身。而另外两种形式的字符串的值有可能会进一步被解释。任何包含在解释型字符串中的${expression}都将被求值,其结果是字符串的一部分。

def age = 25
'My age is ${age}'     //My age is ${age}
"My age is ${age}"     //My age is 25
"""My age is ${age}""" //My age is 25
"My age is \${age}"    //My age is ${age}

2. 字符串索引和索引段:

字符串的索引从0开始,止于该字符串的长度值减1。Groovy也支持负数索引,但是其顺序是从字符串的末尾开始往前计算。子字符串通常可以用索引段来表示。

def greeting = 'Hello world'
println greeting[4]     //o
println greeting[-1]    //d
println greeting[1..2]  //el
println greeting[1..<3] //el
println greeting[4..2]  //oll
println greeting[4,1,6] //oew

请注意,1..2和1..<3这两种索引段表示方法,这种表示方法也被称为范围。1..2表示索引范围从1开始到2结束,包括边界。1..<3是不包含边界的索引范围表示方法,表示索引范围从1开始,到小于3的整数结束。

3. 基本操作:

基本的字符串操作包括两个字符串的合并、字符串的复制,以及计算字符串的长度等。下面是一些例子:

def greeting = 'Hello world'
println 'Hello'+' world'        //Hello world
println 'Hello'*3               //HelloHelloHello
println greeting-'o world'      //Hell
println greeting.size()         //11
println greeting.length()       //11
println greeting.count('o')     //2
println greeting.contains('ell')//true

count()方法统计某个子字符串出现的次数。contains()方法判断某个字符串是否包含指定的子字符串。

Groovy字符串是不可变的,它们在任何地方都不可能改变。可以通过索引、索引段以及合并其他字符串的方式创建一个新的String对象。因此greeting-'o world'表达式演示了新String对象‘Hell’的产生过程,但字符串对象greeting本身仍没有变化。

4. 字符串方法:

5. 比较字符串:

Groovy支持String对象之间的比较方法,该操作是指定方法的重载版本。

这样,在比较两个String对象时,就可以使用str1==str2,这比使用str1.equal(str2)要方便得多。

同样,str1<=>str2就代表str1.compareTo(str2)。如果str1在str2之前,返回值为-1;如果str1在str2之后,返回值为+1;如果str1和str2相同,返回值为0。

println 'ken'<=>'ken'           //0
println 'ken'<=>'kenneth'       //-1
println 'ken'<=>'Ken'           //1
println 'ken'.compareTo('Ken')  //32

字符串比较采用字典顺序,大写字母排在小写字母之前。Groovy采用Unicode字符集。

6. 正则表达式:

转载于:https://my.oschina.net/u/2914561/blog/816419

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值