📅  最后修改于: 2023-12-03 14:46:29.138000             🧑  作者: Mango
在Python中,可以使用内置函数find()
和index()
来查找给定字符串中某个字符的位置。两者的使用方法类似,但是有如下区别:
find()
函数在找不到指定字符时会返回-1,而index()
会抛出异常。find()
函数可以指定起始搜索位置,而index()
不可以。下面分别介绍find()
和index()
函数的使用方法。
find()
函数的基本用法如下:
string.find(substring, start=0, end=len(string))
其中,string
是要搜索的字符串,substring
是要查找的目标字符,start
和end
是可选参数,分别表示搜索起点和终点的位置,默认值分别为0和字符串的长度。函数返回目标字符在字符串中第一次出现的位置,如果找不到则返回-1。
下面是一个例子:
string = "hello world"
pos = string.find("o")
print(pos) # 输出:4
在上面的例子中,find()
函数返回了目标字符o
在字符串中第一次出现的位置,即4。
如果要查找多个字符重复出现的位置,可以使用循环遍历:
string = "hello world"
char = "l"
pos = []
for i in range(len(string)):
if string[i] == char:
pos.append(i)
print(pos) # 输出:[2, 3, 9]
在上面的例子中,我们使用了循环遍历,查找了所有重复出现的字符l
在字符串中的位置,并将位置保存在一个列表中。
index()
函数的用法类似于find()
,但是不同之处在于当目标字符在字符串中不存在时,index()
函数会抛出异常。下面是一个例子:
string = "hello world"
pos = string.index("x")
上面的代码会抛出一个ValueError
异常,提示我们目标字符x
在字符串中不存在。
和find()
相比,index()
函数的用法基本一致:
string.index(substring, start=0, end=len(string))
其中,substring
是要查找的目标字符,start
和end
是可选参数,分别表示搜索起点和终点的位置,默认值分别为0和字符串的长度。函数返回目标字符在字符串中第一次出现的位置。
在Python中,可以使用find()
和index()
函数来查找给定字符串中某个字符的位置,两者的区别在于当目标字符不存在时的返回值不同。在实际应用中,可以根据需要选择适合的函数来进行查找。