- Scala編程實戰(原書第2版)
- (美)阿爾文·亞歷山大
- 407字
- 2024-04-15 12:05:14
2.2 多行字符串的創建
問題
你想在Scala中創建多行字符串,就像用其他語言的heredoc語法一樣。
解決方案
在Scala中,只要使用三個雙引號將想要創建成多行字符串的文本括起來即可:

雖然這樣能運行,但是在這個例子中,第二行和第三行會在行首出現空白。輸出這個字符串看起來像這樣:

有幾種方式可以解決這個問題,最好的解決方式是在多行字符串的末尾加上stripMargin方法,并使用管道符號(|)作為第二行以及之后所有行的開頭:

如果不喜歡使用|符號,則只需要在調用stripMargin時指定想要使用的字符即可:

當然也可以對第二行開始所有的行進行左對齊:

所有以上方法都會產生同樣的結果,即一個多行字符串,其中每一行都是左對齊的。

這些方法生成的結果是一個真正的多行字符串,每一行的末尾都有一個隱藏的\n字符。如果想把這個多行字符串轉換成一個連續的行,可以在stripMargin后調用replaceAll方法,將所有的換行符替換成空格:

這會生成:

討論
Scala多行字符串的另一大功能是,可以在字符串中直接使用單引號和雙引號而不用轉義:

結果為:

推薦閱讀
- INSTANT Mock Testing with PowerMock
- DevOps:軟件架構師行動指南
- C#高級編程(第10版) C# 6 & .NET Core 1.0 (.NET開發經典名著)
- Cocos2D-X權威指南(第2版)
- C#程序設計(慕課版)
- 程序員考試案例梳理、真題透解與強化訓練
- Mastering Python High Performance
- Flux Architecture
- INSTANT Django 1.5 Application Development Starter
- 21天學通C++(第5版)
- JSP程序設計實例教程(第2版)
- FPGA嵌入式項目開發實戰
- 數據科學中的實用統計學(第2版)
- Mastering Apache Camel
- Visual C#(學習筆記)