字符串和正则表达式
2019獨角獸企業重金招聘Python工程師標準>>>
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')//truecount()方法統計某個子字符串出現的次數。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
總結
- 上一篇: unity3d 2D版本见缝插针demo
- 下一篇: 淘宝展示图制作