Dart 语言 字符串方法详解

Dart阿木 发布于 2025-06-18 12 次阅读


Dart 语言字符串方法详解

在 Dart 语言中,字符串是一种非常重要的数据类型,它用于存储和处理文本数据。Dart 提供了丰富的字符串方法,使得字符串操作变得简单而高效。本文将围绕 Dart 语言字符串方法进行详解,帮助开发者更好地理解和运用这些方法。

1. 字符串简介

在 Dart 中,字符串是不可变的,这意味着一旦创建,字符串的内容就不能被修改。Dart 提供了两种字符串类型:`String` 和 `r''`(raw 字符串)。`String` 类型是普通的字符串,而 `r''` 类型是原始字符串,它不会对字符串中的特殊字符进行转义。

dart

String str = 'Hello, Dart!';


r'Hello, Dart!'; // 原始字符串


2. 字符串长度

获取字符串的长度可以使用 `length` 属性。

dart

String str = 'Hello, Dart!';


int length = str.length; // length = 12


3. 字符串索引和切片

Dart 字符串可以通过索引访问其字符。索引从 0 开始,负索引表示从字符串末尾开始计数。

dart

String str = 'Hello, Dart!';


char firstChar = str[0]; // firstChar = 'H'


char lastChar = str[str.length - 1]; // lastChar = '!'


可以使用 `substring` 方法来获取字符串的一部分,即切片。

dart

String str = 'Hello, Dart!';


String slice = str.substring(7, 12); // slice = 'Dart'


4. 字符串拼接

字符串可以通过加号 `+` 运算符进行拼接。

dart

String str1 = 'Hello, ';


String str2 = 'Dart!';


String result = str1 + str2; // result = 'Hello, Dart!'


Dart 还提供了 `String.join` 方法,用于将多个字符串连接成一个字符串。

dart

String result = String.join(', ', ['Hello', 'Dart', 'World']); // result = 'Hello, Dart, World'


5. 字符串查找

`indexOf` 方法可以用来查找子字符串在原字符串中的位置。

dart

String str = 'Hello, Dart!';


int index = str.indexOf('Dart'); // index = 7


`lastIndexOf` 方法用于查找子字符串在原字符串中最后一次出现的位置。

dart

int lastIndex = str.lastIndexOf('o'); // lastIndex = 7


`contains` 方法用于检查字符串是否包含指定的子字符串。

dart

bool contains = str.contains('Dart'); // contains = true


6. 字符串替换

`replaceFirst` 方法用于替换字符串中第一次出现的子字符串。

dart

String replaced = str.replaceFirst('Dart', 'Flutter'); // replaced = 'Hello, Flutter!'


`replaceAll` 方法用于替换字符串中所有出现的子字符串。

dart

String replacedAll = str.replaceAll('o', '0'); // replacedAll = 'Hell0, Dart!'


7. 字符串分割和连接

`split` 方法可以将字符串分割成多个子字符串。

dart

List<String> parts = str.split(', '); // parts = ['Hello', 'Dart!']


`join` 方法用于将多个字符串连接成一个字符串,可以使用指定的分隔符。

dart

String joined = ', '.join(parts); // joined = 'Hello, Dart!'


8. 字符串转换

`toUpperCase` 和 `toLowerCase` 方法用于将字符串转换为大写或小写。

dart

String upper = str.toUpperCase(); // upper = 'HELLO, DART!'


String lower = str.toLowerCase(); // lower = 'hello, dart!'


`trim` 方法用于删除字符串两端的空白字符。

dart

String trimmed = ' Hello, Dart! '.trim(); // trimmed = 'Hello, Dart!'


9. 字符串模式匹配

`startsWith` 和 `endsWith` 方法用于检查字符串是否以指定的子字符串开头或结尾。

dart

bool startsWith = str.startsWith('Hello'); // startsWith = true


bool endsWith = str.endsWith('Dart!'); // endsWith = true


`matches` 方法用于检查字符串是否符合正则表达式模式。

dart

bool matches = str.matches(r'^Hello.Dart!$'); // matches = true


10. 字符串遍历

可以使用 `for` 循环遍历字符串中的每个字符。

dart

for (char c in str) {


print(c); // 打印每个字符


}


总结

Dart 语言提供了丰富的字符串方法,使得字符串操作变得简单而高效。相信读者已经对 Dart 字符串方法有了深入的了解。在实际开发中,灵活运用这些方法可以大大提高代码的效率和可读性。