如何在字符串bc
中找到子字符串abcde
的索引?
像indexof("bc", "abcde")
一样?
答案 0 :(得分:6)
您可以使用findfirst
或findlast
查找字符串中子字符串的第一个或最后一个出现的位置。
julia> findfirst("bc", "abcde")
2:3
julia> findlast("bc", "abcdebcab")
6:7
如果子字符串出现在字符串中,则 findfirst
和findlast
将返回一个范围对象,该对象覆盖事件的开始和结束,否则返回nothing
。对于范围的第一个索引,可以使用result[1]
或first(result)
。
result = findfirst(patternstring, someotherstring)
if isnothing(result)
# handle the case where there is no occurrence
else
index = result[1]
...
end
还有findnext
和findprev
函数。 findnext
查找子字符串在给定位置之后的第一次出现,而findprev
查找子字符串在给定位置之后的最后一次。
请注意,findfirst
,findlast
,findnext
或findprev
不仅用于搜索字符串,还用于搜索其他集合(如数组)。