获取字符串的索引 str.index() str.rindex() 和 str.find() str.rfind()
String
也有 index
方法,但也有更高级的选项和额外的 str.find
。对于这两者,存在互补的反向方法。
astring = 'Hello on StackOverflow'
astring.index('o') # 4
astring.rindex('o') # 20
astring.find('o') # 4
astring.rfind('o') # 20
index
/ rindex
和 find
/ rfind
之间的区别是如果在字符串中找不到子字符串会发生什么:
astring.index('q') # ValueError: substring not found
astring.find('q') # -1
所有这些方法都允许开始和结束索引:
astring.index('o', 5) # 6
astring.index('o', 6) # 6 - start is inclusive
astring.index('o', 5, 7) # 6
astring.index('o', 5, 6) # - end is not inclusive
ValueError:找不到子字符串
astring.rindex('o', 20) # 20
astring.rindex('o', 19) # 20 - still from left to right
astring.rindex('o', 4, 7) # 6