您的位置:

Python str.find用法指南

一、函数介绍

Python str.find() 函数用于检测字符串中是否包含子字符串str,如果指定beg(开始)和 end(结束)范围,则检查是否包含在指定范围内。

二、函数语法

str.find(str, beg=0, end=len(string))

参数说明:

  • str:指定检索的字符串
  • beg:开始索引,默认值为0
  • end:结束索引,默认为字符串长度len(string)

三、注意事项

1. 区分大小写

str.find()函数默认区分大小写,例如:

text = "Hello World"
index = text.find("world")   # 返回-1,表示未找到

如果要不区分大小写,可以使用字符串方法str.lower()将字符串转为小写再比较:

text = "Hello World"
index = text.lower().find("world")   # 返回6,表示找到了

2. 没有找到时返回-1

如果未能找到指定的子字符串,str.find()函数将返回-1:

text = "Hello World"
index = text.find("Python")   # 返回-1,表示未找到

可以根据是否返回-1来判断是否找到了子字符串:

if text.find("Python") == -1:
    print("未找到")
else:
    print("已找到")

四、使用示例

1. 检索字符串中是否包含指定的子字符串

text = "Python is a popular programming language."
 
if text.find("programming") != -1:
    print("包含子字符串")
else:
    print("不包含子字符串")

2. 按索引范围检索字符串

text = "Python is a popular programming language."
 
if text.find("program", 10, 20) != -1:
    print("在指定范围内找到子字符串")
else:
    print("不在指定范围内")

3. 不区分大小写的搜索

text = "Python is a popular programming language."
 
if text.lower().find("PROGRAMMING".lower()) != -1:
    print("找到子字符串")
else:
    print("没有找到子字符串")

4. 搜索并显示所有子字符串的位置

text = "Python is a popular programming language. Python is easy to learn."
search_string = "Python"
start = 0
 
while True:
    start = text.find(search_string, start)
    
    if start == -1:
        break
    
    print("子字符串位置:", start)
    start += 1

5. 搜索并替换子字符串

text = "Python is a popular programming language. Python is easy to learn."
new_text = text.replace("Python", "Java")
print(new_text)