String
数据类型表示一系列字符。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 = '这是一个单行字符串';
String str2 = "这是一个单行字符串";
String str3 = '''这是一个多行字符串''';
String str4 = """这是一个多行字符串""";
print(str1);
print(str2);
print(str3);
print(str4);
}
它将产生以下输出
这是一个单行字符串
这是一个单行字符串
这是一个多行字符串
这是一个多行字符串
字符串是不可变的。但是,字符串可以进行各种操作,结果字符串可以存储为新值。
字符串插值
通过将值附加到静态字符串来创建新字符串的过程称为连接或插值。换句话说,它是将字符串添加到另一个字符串的过程。
运算符加(+
)是连接/插入字符串的常用机制。
例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代码单元。 |