发布于 2026-01-06 1 阅读
0

你应该知道的十大字符串实用方法(Dart)🎯

你应该知道的十大字符串实用方法(Dart)🎯

在今天关于十大方法的系列文章中,我们将介绍该String类型附带的一些实用方法。

您可以将这些方法与内置的模板字面量支持结合使用,从而有效地操作字符串:

var str1 = 'Lorem';
var str2 = '$str1 ipsum'; // String interpolation
var str3 = '''Multi
Line
$str1 $str2'''; // Multi-line strings
Enter fullscreen mode Exit fullscreen mode

我们先从以下内容开始:

1. 包含()

这样可以检查指定的字符串是否存在:

str1.contains('rem'); // true
Enter fullscreen mode Exit fullscreen mode

2. startsWith()

这样可以检查字符串是否以指定的字符开头:

str2.startsWith('Lorem'); // true
str3.startsWith('Noorem'); // false
Enter fullscreen mode Exit fullscreen mode

3. endsWith()

检查字符串是否以指定的字符结尾:

str3.endsWith('ipsum'); // true
str3.endsWith('oopsum'); // false
Enter fullscreen mode Exit fullscreen mode

4. toLowerCase(),toUpperCase()

将字符串转换为小写和大写格式:

str1.toLowerCase(); // lorem
str1.toUpperCase(); // LOREM
Enter fullscreen mode Exit fullscreen mode

5. split()

根据匹配的模式分割字符串,返回子字符串列表:

str3.split('\n'); // ['Multi', 'Line', 'Lorem Lorem ipsum'];
Enter fullscreen mode Exit fullscreen mode

6. splitMapJoin()

将字符串拆分,转换每个列表项,并将它们合并成一个新字符串:

str3.splitMapJoin(RegExp(r'^', multiLine: true), // Matches the beginning of each line
  onMatch: (m) => '**${m.group(0)} ', // Adds asterisk to the line beginning
  onNonMatch: (n) => n); // Leaves non matches as is
/*
Output: 

** Multi
** Line
** Lorem Lorem ipsum

*/
Enter fullscreen mode Exit fullscreen mode

7. indexOf(),lastIndexOf()

返回给定模式的第一个和最后一个匹配项的位置:

str3.indexOf('rem'); // 13
str3.lastIndexOf('rem'); // 19
Enter fullscreen mode Exit fullscreen mode

两种方法都接受一个可选参数,用于指定搜索的起始索引:

str3.lastIndexOf('rem', 18); // 13
Enter fullscreen mode Exit fullscreen mode

8. trim()

删除开头和结尾的空格:

"   $str2  ".trim(); // 'Lorem ipsum'
Enter fullscreen mode Exit fullscreen mode

9. padLeft(),padRight()

如果字符串长度小于指定值,则在字符串的左右两侧填充给定的填充值:

str1.padLeft(8, 'x'); // xxLorem
str1.padRight(8, 'x'); // Loremxx
Enter fullscreen mode Exit fullscreen mode

10. replaceAll()

将所有与指定模式匹配的子字符串替换为替换字符串:

str2.replaceAll('e', 'é'); // Lorém
Enter fullscreen mode Exit fullscreen mode

结论

希望这篇文章对您有所帮助。如果您是第一次接触 Dart,请阅读我的入门教程以掌握基础知识。本文中的代码片段可在DartPad上找到。

喜欢就点赞关注我吧😍,我会分享更多关于Dart的文章。非常感谢!

快速链接

  1. 字符串类文档
  2. Egghead.io 上提供免费的 Dart 屏幕录像。

继续阅读:


文章来源:https://dev.to/creativ_bracket/top-10-string-utility-methods-you-should-know-dart--4df0