You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python从给定列表匹配字符串内的目标词并替换匹配项的实现问题

解决方法

方法1:直接遍历待排除列表批量替换

无需提前判断是否存在匹配词,str.replace()在目标词汇不存在时不会报错,逻辑最简洁:

given_list   = ["Terms","I","want","to","remove","from","input_string"]
input_string = input("Enter String:")

# 逐个替换所有待排除词汇
for target in given_list:
    input_string = input_string.replace(target, "")

print("Some Task", input_string)
# 后续业务直接使用处理后的input_string即可

方法2:先获取所有匹配词汇再处理

如果需要留存匹配到的词汇做后续统计/校验,可以先筛选匹配项:

given_list   = ["Terms","I","want","to","remove","from","input_string"]
input_string = input("Enter String:")

# 筛选所有命中的待排除词汇
matched = [word for word in given_list if word in input_string]

if matched:
    # 可选:打印匹配到的词汇
    print(f"检测到待删除词汇:{matched}")
    for word in matched:
        input_string = input_string.replace(word, "")
    print("Some Task", input_string)
else:
    print("未检测到需要删除的词汇")

方法3:正则整词匹配(避免局部误匹配)

如果不需要替换词汇的局部出现(比如待删除词是to,不要把today里的to也删掉),可以用正则的单词边界做精确匹配:

import re

given_list   = ["Terms","I","want","to","remove","from","input_string"]
input_string = input("Enter String:")

# 构造正则规则,\b 代表单词边界,re.escape 避免特殊字符报错
pattern = re.compile(r'\b(' + '|'.join(re.escape(w) for w in given_list) + r')\b')
res = pattern.sub("", input_string)

print("Some Task", res)

内容的提问来源于stack exchange,提问作者ZXCVB0T

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 06:36:02