在Julia中查找子字符串的索引

时间:2019-06-07 05:36:06

标签: julia

如何在字符串bc中找到子字符串abcde的索引?

indexof("bc", "abcde")一样?

1 个答案:

答案 0 :(得分:6)

您可以使用findfirstfindlast查找字符串中子字符串的第一个或最后一个出现的位置。

julia> findfirst("bc", "abcde")
2:3

julia> findlast("bc", "abcdebcab")
6:7
如果子字符串出现在字符串中,则

findfirstfindlast将返回一个范围对象,该对象覆盖事件的开始和结束,否则返回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

还有findnextfindprev函数。 findnext查找子字符串在给定位置之后的第一次出现,而findprev查找子字符串在给定位置之后的最后一次。


请注意,findfirstfindlastfindnextfindprev不仅用于搜索字符串,还用于搜索其他集合(如数组)。