Dart字串資料型別表示一系列字元。Dart字串是一系列UTF 16
程式碼單元。
Dart中的字串值可以使用單引號或雙引號或三引號表示。單行字串使用單引號或雙引號表示。三引號用於表示多行字串。
在Dart中表示字串值的語法如下所示 -
語法
String variable_name = 'value'
// 或者
String variable_name = ''value''
// 或者
String variable_name = '''line1
line2'''
// 或者
String variable_name= ''''''line1
line2''''''
以下範例演示了如何在Dart中使用String
資料型別。
void main() {
String str1 = 'this is a single line string';
String str2 = "this is a single line string";
String str3 = '''this is a multiline line string''';
String str4 = """this is a multiline line string""";
print(str1);
print(str2);
print(str3);
print(str4);
}
它將產生以下輸出 -
this is a single line string
this is a single line string
this is a multiline line string
this is a multiline line string
字串是不可變的。但是,字串可以進行各種操作,結果字串可以儲存為新值。
通過將值附加到靜態字串來建立新字串的過程稱為連線或插值。它是將字串新增到另一個字串的過程。
運算子加運算子(+
)是連線/插入字串的常用機制。
範例1
void main() {
String str1 = "hello";
String str2 = "world";
String res = str1+str2;
print("The concatenated string : ${res}");
}
執行上面範例程式碼,得到以下結果 -
The concatenated string : Helloworld
範例2
可以使用${}
來插入字串中Dart表示式的值。如下範例 -
void main() {
int n=1+1;
String str1 = "The sum of 1 and 1 is ${n}";
print(str1);
String str2 = "The sum of 2 and 2 is ${2+2}";
print(str2);
}
執行上面範例程式碼,得到以下結果 -
The sum of 1 and 1 is 2
The sum of 2 and 2 is 4
下表中列出的字串屬性都是唯讀的。
編號 | 屬性 | 描述 |
---|---|---|
1 | codeUnits | 返回此字串的UTF-16 程式碼單元的不可修改列表。 |
2 | isEmpty | 如果此字串為空,則返回true 。 |
3 | length | 返回字串的長度,包括空格,製表符和換行符。 |
Dart語言的core庫中的String類還提供了操作字串的方法。其中一些方法如下 -
編號 | 屬性 | 描述 |
---|---|---|
1 | toLowerCase() | 將此字串中的所有字元轉換為小寫。 |
2 | toUpperCase() | 將此字串中的所有字元轉換為大寫。 |
3 | trim() | 返回沒有任何前導和尾隨空格的字串。 |
4 | compareTo() | 將此物件與另一物件進行比較。 |
5 | replaceAll() | 用給定值替換與指定模式匹配的所有子字串。 |
6 | split() | 在指定分隔符的匹配處拆分字串並返回子字串列表。 |
7 | substring() | 返回此字串的子字串,字串從startIndex(包括)延伸到endIndex ,exclusive 。 |
8 | toString() | 返回此物件的字串表示形式。 |
9 | codeUnitAt() | 返回給定索引處的16位元UTF-16程式碼單元。 |