Python如何获取字符串中指定关键词前后紧邻的单个单词
提取关键词前后紧邻单词的Python实现
text = "I currently live in Chicago but work in DC" keywords = 'live in' before_part, keyword, after_part = text.partition(keywords) # 提取关键词前紧邻的单词 before_word = before_part.strip().split()[-1] if before_part.strip() else None # 提取关键词后紧邻的单词 after_word = after_part.strip().split()[0] if after_part.strip() else None print(before_word) # 输出:currently print(after_word) # 输出:Chicago
逻辑说明
- 先用
partition()方法拆分原始字符串,得到关键词前子串、关键词本身、关键词后子串三部分 - 对前后子串执行
strip()操作,清除首尾空白字符,避免空格干扰后续分割结果 - 调用
split()方法按空白字符分割子串,默认会将连续多个空格视为同一个分隔符,不会生成无效空元素 - 分别取前子串分割后的最后一个元素、后子串分割后的第一个元素,即为和关键词紧邻的前后单词
- 增加非空判断避免索引越界:如果关键词在字符串开头,
before_word返回None;如果关键词在字符串结尾,after_word返回None,可根据实际需求调整默认返回值
内容的提问来源于stack exchange,提问作者Hummer
相关产品推荐
相关产品推荐

