你应该知道的十大字符串实用方法(Dart)🎯
在今天关于十大方法的系列文章中,我们将介绍该String类型附带的一些实用方法。
您可以将这些方法与内置的模板字面量支持结合使用,从而有效地操作字符串:
var str1 = 'Lorem';
var str2 = '$str1 ipsum'; // String interpolation
var str3 = '''Multi
Line
$str1 $str2'''; // Multi-line strings
我们先从以下内容开始:
1. 包含()
这样可以检查指定的字符串是否存在:
str1.contains('rem'); // true
2. startsWith()
这样可以检查字符串是否以指定的字符开头:
str2.startsWith('Lorem'); // true
str3.startsWith('Noorem'); // false
3. endsWith()
检查字符串是否以指定的字符结尾:
str3.endsWith('ipsum'); // true
str3.endsWith('oopsum'); // false
4. toLowerCase(),toUpperCase()
将字符串转换为小写和大写格式:
str1.toLowerCase(); // lorem
str1.toUpperCase(); // LOREM
5. split()
根据匹配的模式分割字符串,返回子字符串列表:
str3.split('\n'); // ['Multi', 'Line', 'Lorem Lorem ipsum'];
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
*/
7. indexOf(),lastIndexOf()
返回给定模式的第一个和最后一个匹配项的位置:
str3.indexOf('rem'); // 13
str3.lastIndexOf('rem'); // 19
两种方法都接受一个可选参数,用于指定搜索的起始索引:
str3.lastIndexOf('rem', 18); // 13
8. trim()
删除开头和结尾的空格:
" $str2 ".trim(); // 'Lorem ipsum'
9. padLeft(),padRight()
如果字符串长度小于指定值,则在字符串的左右两侧填充给定的填充值:
str1.padLeft(8, 'x'); // xxLorem
str1.padRight(8, 'x'); // Loremxx
10. replaceAll()
将所有与指定模式匹配的子字符串替换为替换字符串:
str2.replaceAll('e', 'é'); // Lorém
结论
希望这篇文章对您有所帮助。如果您是第一次接触 Dart,请阅读我的入门教程以掌握基础知识。本文中的代码片段可在DartPad上找到。
喜欢就点赞关注我吧😍,我会分享更多关于Dart的文章。非常感谢!
快速链接
继续阅读:
文章已失效
文章来源:https://dev.to/creativ_bracket/top-10-string-utility-methods-you-should-know-dart--4df0