如何在Python中使用find()函数查找字符串中所有的单词

2023-03-18 00:00:00 函数 字符串 单词

在 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 替换为相应的值。

相关文章