scala中的字元串類就是java中的java.lang.String類。不過scala也為String提供了一個富封裝類:scala.runtime.RichString。 scala可以將java.lang.String類自動轉換為scala.runtime.RichString類。這樣就可以非... ...
scala中的字元串類就是java中的java.lang.String類。不過scala也為String提供了一個富封裝類:scala.runtime.RichString。
scala可以將java.lang.String類自動轉換為scala.runtime.RichString類。這樣就可以非常方便地使用capitalize()、lines()和reverse()等方法相對較便捷的方法(有時候這樣做也會帶來一些問題,比如涉及到類型比較的時候)。
在scala里,對於字元串的支持中最顯著的一個特性是對於heredoc的支持,也就是對多行文本的支持。在scala里創建多行字元串非常容易,只要將多行字元串放在三個雙引號里就行。在下麵的代碼里創建了一個四行的字元串:
var info = """ 這裡是robin的信息: robin的姓名:robin zhang; robin的年齡:29; robin的個人主頁:zhyea.com """ println(info)
輸出如下:
scala會將三個雙引號間的內容保持原樣,在scala里稱為原始字元串。比如我們可以在原始字元串里直接使用雙引號或者反斜杠:
var info = """ 這裡是robin的信息: robin的姓名:robin zhang; robin的年齡:29, or "nicai"; robin的個人主頁:zhyea.com 然後我想換行來著:\n 好吧,沒有成功換行! """ println(info)
輸出如下:
如果不想使用縮進的話可以考慮使用RichString的stripMargin()方法,這個方法需要配合管道符號“|”使用。stripMargin()會去掉先導管道符“|”前所有的空白或控制字元。如果出現在其他地方,而不是每行的開始,就會保留管道符。可以看一下下麵的代碼:
var info = """ 這裡是robin的信息: |robin的姓名:robin zhang; \n|robin的年齡:29, or "nicai"; robin的個人主頁:zhyea.com """ println(info.stripMargin)
下麵是執行結果:
如果出於某種原因,管道符號“|”有特殊的用途,可以用stripMargin的重載方法來選擇其他字元作為邊緣字元。
######