字符串和正则表达式
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
1. 字符串字面值:
Groovy中可以使用單引號(hào)、雙引號(hào)或三引號(hào)("""aaa""")來(lái)封裝字符串。三引號(hào)表示的字符串可以包含多行文本。
使用單引號(hào)封裝的字符串的值就是所列出的字符序列本身。而另外兩種形式的字符串的值有可能會(huì)進(jìn)一步被解釋。任何包含在解釋型字符串中的${expression}都將被求值,其結(jié)果是字符串的一部分。
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開始,止于該字符串的長(zhǎng)度值減1。Groovy也支持負(fù)數(shù)索引,但是其順序是從字符串的末尾開始往前計(jì)算。子字符串通??梢杂?span style="color:#FF0000;">索引段來(lái)表示。
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請(qǐng)注意,1..2和1..<3這兩種索引段表示方法,這種表示方法也被稱為范圍。1..2表示索引范圍從1開始到2結(jié)束,包括邊界。1..<3是不包含邊界的索引范圍表示方法,表示索引范圍從1開始,到小于3的整數(shù)結(jié)束。
3. 基本操作:
基本的字符串操作包括兩個(gè)字符串的合并、字符串的復(fù)制,以及計(jì)算字符串的長(zhǎng)度等。下面是一些例子:
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')//truecount()方法統(tǒng)計(jì)某個(gè)子字符串出現(xiàn)的次數(shù)。contains()方法判斷某個(gè)字符串是否包含指定的子字符串。
Groovy字符串是不可變的,它們?cè)谌魏蔚胤蕉疾豢赡芨淖儭?梢酝ㄟ^(guò)索引、索引段以及合并其他字符串的方式創(chuàng)建一個(gè)新的String對(duì)象。因此greeting-'o world'表達(dá)式演示了新String對(duì)象‘Hell’的產(chǎn)生過(guò)程,但字符串對(duì)象greeting本身仍沒(méi)有變化。
4. 字符串方法:
5. 比較字符串:
Groovy支持String對(duì)象之間的比較方法,該操作是指定方法的重載版本。
這樣,在比較兩個(gè)String對(duì)象時(shí),就可以使用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. 正則表達(dá)式:
轉(zhuǎn)載于:https://my.oschina.net/u/2914561/blog/816419
總結(jié)
- 上一篇: unity3d 2D版本见缝插针demo
- 下一篇: 淘宝展示图制作