在Python使用字符串的过程中,如果遇到很多的字符串,想要查找到想要的字符串有些困难。本文主要介绍Python字符串查找的几种方法:find方法、 index方法、rfind方法、rindex方法。具体请看如下内容:
find方法
find方法获取值时,如果要查找的值不存在,会返回-1
str.find(str, beg=0, end=len(string))
使用实例
# string in which we have to find the sub_string str = "Hello world, how are you?" # sub_string to find the given string sub_str = "how" # find by sub_str print (str.find (sub_str)) # find by sub_str with slice:start index print (str.find (sub_str, 10)) # find by sub_str with slice:start index and slice: end index print (str.find (sub_str, 10, 24)) # find a sub_str that does not exist sub_str = "friend" # find by sub_str print (str.find (sub_str)) # find a sub_str with different case sub_str = "HOW" # find by sub_str print (str.find (sub_str))
输出
13 13 13 -1 -1
index方法
在获取值得索引时,如果不存在值,会报错
str.index(str, beg=0, end=len(string))
使用实例
def second_index(text: str, symbol: str): """ returns the second index of symbol in a given text """ try: return text.index(symbol, text.index(symbol) + 1) except ValueError: return None if __name__ == '__main__': #These "asserts" using only for self-checking and not necessary for auto-testing print('Example:') print(second_index("sims", "s")) assert second_index("sims", "s") == 3, "First" assert second_index("find the river", "e") == 12, "Second" assert second_index("hi", " ") is None, "Third" assert second_index("hi mayor", " ") is None, "Fourth" assert second_index("hi mr Mayor", " ") == 5, "Fifth" print('You are awesome! All tests are done! Go Check it!')
注意:
find()和index()只能找到第一个索引值。如果指定字符同时存在多个,只会输出第一个指定字符的索引值。
rfind和rindex方法用法和上面一样,只是从字符串的末尾开始查找。
以上就是Python中字符串查找的方法,大家可以选择符合自己需求的方法来解决问题哦~希望能解决你的问题。