查找Python字符串中某个词汇的所有索引

7 个月前 · 来自专栏 Python

Python中获取字符串中某个单词的索引一般包括两种方法,一种是Python字符串自带函数.find();另一种是正则表达式。

1. 字符串的find()函数方法

需要说明的是,直接使用字符串的find()函数只能获取单词第一次出现的索引,如果要获取单词在字符串中的所有索引,需要使用find(word, n)。

# 只获取第一个词的索引
sentence = '鼓励结合生态治理、设施农业、渔业养殖、扶贫开发、农业基础设施等合理资源配置'
word = "农业"
sentence.find("农业")
# 显然,第二个“农业”的索引无法获取

output: 11

获取单词在字符串中的所有索引

def using_comprehension(word, sentence):
    print([n for n in range(len(sentence)) if sentence.find(word, n) == n])
sentence = '鼓励结合生态治理、设施农业、渔业养殖、扶贫开发、农业基础设施等合理资源配置'
word = "农业"
using_comprehension(word, sentence)

output: [11, 24]

获取指定索引

# 统计单词在文中出现次数
print(sentence.count("农业"))
# 指定第几个索引
sentence.find("农业", 2)

output:

2
11

2. 正则表达式

import re