Dart 字符串
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代码单元。 |
Dart为布尔数据类型提供内置支持。Dart中的布尔数据类型仅支持两个值true和false。关键字bool用于表示DART中的布尔值。在dart中声明布尔变量的语法如下所示:bool var_name = true; ...