对于获取子串在字符串中的索引的理解

来源:5-2 字符串处理(上)

爱下围棋的时光

2022-04-19

我的理解:实际执行时,是将子串拆分成一个一个的字符(s,t,a,r,t),然后用子串中的字符逐个的和字符串var1的第一个字符比较是否相等,找到了索引就是1;如果还没有找到,再用子串中的字符逐个的和字符串var1的第二个字符比较,直到找到和字串中某个字符相等个那个字符,该字符的位置就是子串在字符var1中的索引位置!
不知道我的理解是否正确,请老师指正

写回答

1回答

酷田

2022-06-06

您理解的正确,在Shell中使用expr index "$str" substr时,其本质substr会拆分成一个一个字符,找到第一个字符在$str中的位置,就会被赋值给索引值了。

这一点和高级语言中的查找子串逻辑不太一样,这也是为什么一般不会用来处理复杂业务逻辑的原因。

SHELL的本质还是用于系统管理

1
0

掌握Shell脚本编程 360架构师带你进阶Linux高手

30%知识讲解+70%实例操作 掌握Shell脚本编程能力

1638 学习 · 297 问题

查看课程