这是【Dart 教程系列第 34 篇】,如果觉得有用的话,欢迎关注专栏。
indexOf
源码如下所示
int indexOf(Pattern pattern, [int start = 0]);
语法
由前向后查找指定字符,返回值是 int 类型,如果有符合条件的则返回对应字符所在的索引,没有找到则返回 -1。
第一个参数是要查找的字符,支持正则表达式,后面如果看到 Pattern 类型的,都可以用正则表达式代替字符。
第二个为可选参数,从哪个索引处开始查找(包括该索引),默认为 0 ,其中 start 不能为负数,且不大于被查找字符的串长度。
举例
String text = "abcDcbaE";
// 01 查找字符 c 第一次出现时的索引
print(text.indexOf('c')); // 返回 2
// 02 从索引 3 位置开始查找字符 c 第一次出现时的索引
print(text.indexOf('c', 3)); // 返回 4
// 03 查找字符 p 第一次出现时的索引
print(text.indexOf('p')); // // 返回 -1
// 04 使用正则表达式,查找第一次出现大写字母的字符时的索引
print(text.indexOf(RegExp('[A-Z]'))); // 返回 3
lastIndexOf
源码如下所示
int lastIndexOf(Pattern pattern, [int? start]);
语法
由后向前查找指定字符,返回值是 int 类型,如果有符合条件的则返回对应字符所在的索引,没有找到则返回 -1。需要事先说明的一点,倒序查找不是说索引也倒过来了。
第一个参数是要查找的字符,第二个为可选参数,从哪个索引处开始查找(包括该索引),没有默认值。
举例
String text = "abcDcbaE";
// 01 倒序查找字符 a 第一次出现时的索引
print(text.lastIndexOf('a')); // 返回 6
// 02 从索引 2 位置倒序查找字符 a 第一次出现时的索引
print(text.lastIndexOf('a', 2)); // 返回 0
// 03 倒序查找字符 p 第一次出现时的索引
print(text.lastIndexOf('p')); // 返回 -1
// 04 使用正则表达式,倒序查找第一次出现大写字母的字符时的索引
print(text.lastIndexOf(RegExp('[A-Z]'))); // 返回 7
更多 Dart 的 String 字符串方法,推荐一篇博客 Dart 的 String 字符串的常用方法
你的问题得到解决了吗?欢迎在评论区留言。文章来源:https://www.toymoban.com/news/detail-404048.html
赠人玫瑰,手有余香,如果觉得文章不错,希望可以给个一键三连,感谢。文章来源地址https://www.toymoban.com/news/detail-404048.html
结束语
技术是一点一点积累的,大神也不是一天就可以达到的。原地不动就是退步,所以每天进步一点点。
最后,附上一句格言:"好学若饥,谦卑若愚",望共勉。
到了这里,关于【Dart 教程系列第 34 篇】Dart 之 indexOf、lastIndexOf 获取指定元素在字符串的索引的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!