python - 在 python 字符串中插入主题标签
问题描述
我尝试用一个优雅的解决方案在句子中的特定单词前面插入“#”(不是一个有很多“if”的大函数)。
hashwords = ['Google','Apple','Titan','Facebook']
input = 'Google,Apple, Titan and Facebook. Not Facebook@Work OpenTitan or apple.'
output = '#Google,#Apple, #Titan and #Facebook. Not Facebook@Work, OpenTitan or apple.'
我尝试过这样的事情,但我想考虑标点符号或可能成为更大单词一部分的单词:
for elem in hashwords :
if elem in input:
input = input.replace(elem, '#'+elem)
任何想法?
谢谢
解决方案
import re
hashwords = ['Google','Apple','Titan','Facebook']
input = 'Google,Apple, Titan and Facebook. Not Facebook@Work OpenTitan or apple.'
for elem in hashwords :
input = re.sub(r'\b'+elem+r'\b(?!@)', '#'+elem, input)
print(input)
输出:
#Google,#Apple, #Titan and #Facebook. Not Facebook@Work OpenTitan or apple.
r'(?<!@)\b'+elem+r'\b(?!@)'
如果你不想Apple@Titan
被匹配,你可以使用。
推荐阅读
- java - 如何在fuse osgi环境中通过sql server的验证查询
- python - 如何通过 pandas read_csv 读取带有单引号和撇号的字符串
- ruby-on-rails - Rails:与范围内的 trackable_type 的急切负载关联
- json - 查询 jsonb 列以匹配键数组
- google-api - 添加到 Gmail API 项目的范围不会反映在 OAuth 同意屏幕中
- react-native - react-native-deck-swiper 错误是 TypeError: undefined is not an object (evalating 'cards.length')
- python - 如果我要求用户从现在开始输入活动日期,如何计算剩余天数
- java - 有没有一种方法可以调用父类构造函数,该构造函数从没有自己的构造函数的子类中获取参数?
- c++ - 如何在与主函数不同的源文件中定义我的类?
- python-3.x - python3.x:从父目录导入文件时出现 ModuleNotFoundError