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

如何移除字符串中属于指定列表的字符 仅保留其余合法字符

实现方法

这里提供两种常用的实现方案,都可以达到你要的效果:


方案1:使用str.maketrans+str.translate(性能最优,适合处理大量文本)

str.maketrans的第三个参数可以直接指定要删除的所有字符,处理逻辑底层是C实现,效率远高于纯Python层遍历:

l = ["Bananas :)", "apple :("]
characters_i_dont_want = [":", "a"]

# 构建字符删除映射表
delete_table = str.maketrans('', '', ''.join(characters_i_dont_want))
for s in l:
    # 应用映射删除指定字符
    result = s.translate(delete_table)
    print(result)

运行输出:

Bnns )
pple (

方案2:字符筛选拼接(逻辑直观,适合新手理解)

遍历每个字符串的单个字符,只保留不在排除列表中的字符再拼接成新字符串:

l = ["Bananas :)", "apple :("]
characters_i_dont_want = [":", "a"]

# 如果排除字符数量多,先转成集合提升查询效率
exclude_set = set(characters_i_dont_want)
for s in l:
    result = ''.join(c for c in s if c not in exclude_set)
    print(result)

运行输出和方案1完全一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 10:24:00