在一个字符串中查找子字符串
时间: 2023-05-27 10:04:27 浏览: 118
可以使用字符串的find()方法或者index()方法来查找子字符串,这样可以返回子字符串所在的位置或者提示子字符串不存在。例如:
```python
s = 'hello world'
sub_str1 = 'world'
sub_str2 = 'python'
# 使用find()方法查找子字符串
index1 = s.find(sub_str1)
index2 = s.find(sub_str2)
print(index1) # 6
print(index2) # -1
# 使用index()方法查找子字符串
index3 = s.index(sub_str1)
# index4 = s.index(sub_str2) # 报错:ValueError: substring not found
print(index3) # 6
```
如果想要查找字符串中所有出现的子字符串,可以使用正则表达式。例如:
```python
import re
s = 'hello world, world is wonderful world'
sub_str = 'world'
# 使用re.findall()方法查找所有出现的子字符串
indexes = [match.start() for match in re.finditer(sub_str, s)]
print(indexes) # [6, 13, 23]
# 使用re.finditer()方法返回所有出现的子字符串的迭代器,也可以通过迭代器遍历得到所有位置
matches = re.finditer(sub_str, s)
for match in matches:
print(match.start()) # 6 13 23
```
阅读全文