Groovy預覽--文本處理


在Java中,字符串大多數使用java.lang.String類型處理,在Groovy中提供了一些途徑是字符串工作更加容易

1Gstring

在groovy中,字符串能出現在單引號或者雙引號中,在雙引號的字符串中可以使用占位符,占位符在必要的時候將自動解析,這是個GString類型

def nick='Groovy'
def book='Groovy in action'
assert "$nick is $book"=="Groovy is Groovy in action"
assert "${nick} is ${book}"=="Groovy is Groovy in action"
println "$nick is $book"
println "${nick} is ${book}"

Results: Groovy is Groovy in action

        Groovy is Groovy in action

 

在groovy中,可以使用‘’‘(三個單引號) 或者“”“(三個雙引號)表示多行字符串,如

def single='''Hello,
Synvata''' //單引號
def mul="""Hello,
Synvata"""//雙引號
println single
println mul

每一種表示法的目的都是為了使文本內容最小化,每一個表示法都有一個和其他表示法不一樣的屬性:

  • 單引號所表示的字符串不會按照GString的類型來處理內容,這等價於java的字符串;
  • 雙引號表示的意思與單引號表示的意思是等價的。如果字符串內容中包括沒有被轉義的$符號,那么它被加工成GString實例,GString更詳細的信息將在下節介紹;
  • 三組引號(或者是多行字符串)允許字符串的內容在多行出現,新的行總是被轉換為“\n”,其他所有的空白字符都被完整的按照文本原樣保留,多行字符串也許是一個GString實例,這根據是使用單引號或者多雙引號而定,多行字符串事實上像Ruby或者Perl中的HERE-document。
  • “/”表示的字符串,指明字符串內容不轉義反斜杠“\”,這在正則表達式的使用中特別有用,就象后面看到的那樣,只有在一個反斜杠接下來是一個字符u的時候才需要進行轉義——這稍微有點麻煩,因為\u用來表示一個unicode轉義。

 2 StringBuffer

在groovy中修改字符串,可以使用StringBuffer!在StringBuffer中,可以使用<<操作符追加文本和下標操作符進行文本替換,在一個字符串上使用<<操作符將返回一個StringBuffer

def greeting="Hello"
greeting<<= ' Groovy'
greeting<<'!'
println greeting
greeting[1..4] = 'i'       
println greeting      
println (greeting instanceof java.lang.StringBuffer)
Results:
 
Hello Groovy!
Hi Groovy!
true

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM