如何在Python中使用find()函数查找字符串中所有的单词
在 Python 中使用 find() 函数查找字符串中所有的单词,可以使用以下代码:
s = "Welcome to pidancode.com, the best place to learn Python programming." # 将标点符号替换为空格 for c in "!@#$%^&*()_+-={}[]|\:;'\"<>,.?/": s = s.replace(c, " ") # 将字符串转换为小写,以便忽略大小写 s = s.lower() # 按空格分割字符串,并去除空单词 words = [w for w in s.split() if w] # 查找所有单词的位置 for word in words: start = -1 while True: start = s.find(word, start + 1) if start == -1: break end = start + len(word) print("单词 %s 的位置为 [%d, %d)" % (word, start, end))
在上述代码中,我们首先将标点符号替换为空格,然后将字符串转换为小写,以便忽略大小写。我们使用 split() 函数将字符串按空格分割成单词,并使用列表推导式去除空单词。接下来,我们使用 find() 函数查找每个单词的位置。我们使用一个 while 循环来查找所有的单词位置。在每次查找中,我们将 start 参数设置为上次查找的位置加 1,从而避免重复查找到之前的位置。如果找不到单词,我们退出循环。当我们找到一个单词的位置时,我们打印出它的起始位置和结束位置。
如果要查找的字符串是 "pidancode" 或者 "皮蛋编程",可以将代码中的 s 替换为相应的值。
相关文章