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