前情提要
上篇介紹完資料型別-Numbers
後,這篇來到Strings
的篇幅,筆者這邊也是採用官方文件及相關連結做一個簡述及驗證,跟著筆者一起學習吧。
內容
筆者這邊還是簡單列一下筆者這邊的開發環境
- 作業系統:Mac OS
- Dart版本:
2.17.6
- 編輯器:Visual Studio Code
Strings
宣告方式
在Dart
語言中,Strings
代表UTF-16
編碼的序列組成,可以使用單引號
或雙引號
來表示字串
1 | var s1 = 'Single quotes work well for string literals.'; |
動態組合字串
透過${*expression*}
可以動態組合字串
1 | var s = 'string interpolation'; |
==比對字串
,要注意的是Dart編譯器
比對的是已經轉換成UTF-16
編碼過後的一組序列的比對
+運算子
可以透過+
運算子組合字串
1 | var s2 = 'The + operator ' + 'works, as well.'; |
換行宣告字串
若宣告字串中,需要換行宣告,又要保持同一行的字串時,可透過'''三個單引號
來表示
1 | var s1 = ''' |
Strings常用操作方法
- 搜尋字串
contains
startsWith
endsWith
indexOf
1 | // Check whether a string contains another string. |
- 擷取字串SubString
substrings
split
codeUnits
1 | // Grab a substring. |
- 轉大、小寫UpperCase/LowerCase
toUpperCase
toLowerCase
1 | // Convert to uppercase. |
- TrimAndEmpty
trim
isEmpty
isNotEmpty
1 | // Trim a string. |
- 取代Replace
1 | var greetingTemplate = 'Hello, NAME!'; |
Strings相關詳細API部份,請參考
https://api.dart.dev/stable/2.17.6/dart-core/String-class.html
結論
筆者這邊有跳過一個主題:Runes and grapheme clusters,這個需要花滿多時間去研讀並消化它,畢竟很底層的操作才會需要使用到它,改天再找時間完成另一篇專門文章介紹該主題,剛好筆者參加的另一個長青讀書會(因為已經維持五六年有了)的成員上週在報Encoding
相關的主題,筆者屆時會參考該成員提供的教學影片,就先放在參考中提醒筆者,下篇見。
參考
- https://dart.dev/guides/language/language-tour#strings
- https://dart.dev/guides/libraries/library-tour#strings-and-regular-expressions
- https://api.dart.dev/stable/2.17.6/dart-core/String-class.html
- https://www.youtube.com/watch?v=ut74oHojxqo