
在Python使用字符串的过程中,如果遇到很多的字符串,想要查找到想要的字符串有些困难。本文主要介绍Python字符串查找的几种方法:find方法、 index方法、rfind方法、rindex方法。具体请看如下内容:
find方法
find方法获取值时,如果要查找的值不存在,会返回-1
str.find(str, beg=0, end=len(string))
使用实例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | # 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))
|
输出
index方法
在获取值得索引时,如果不存在值,会报错
str.index(str, beg=0, end=len(string))
使用实例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 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中字符串查找的方法,大家可以选择符合自己需求的方法来解决问题哦~希望能解决你的问题。