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代碼單元。 |