您当前的位置: 首页 >  ar

Allen Su

暂无认证

  • 0浏览

    0关注

    431博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Dart 教程系列第 34 篇】Dart 之 indexOf、lastIndexOf 获取指定元素在字符串的索引

Allen Su 发布时间:2021-10-16 13:20:23 ,浏览量:0

这是【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 字符串的常用方法

你的问题得到解决了吗?欢迎在评论区留言。

赠人玫瑰,手有余香,如果觉得文章不错,希望可以给个一键三连,感谢。

结束语 技术是一点一点积累的,大神也不是一天就可以达到的。原地不动就是退步,所以每天进步一点点。 最后,附上一句格言:"好学若饥,谦卑若愚",望共勉。
关注
打赏
1656491068
查看更多评论
立即登录/注册

微信扫码登录

0.0428s