如何从列表中移除货币金额?有无比正则表达式更简便的方法?
无需正则的货币字符串过滤方案
针对你的列表过滤需求,不用正则也能轻松实现,这里提供几个更直观的简便方法:
方法1:基于欧元符号€过滤
你的所有货币项都包含€符号,直接筛选不含该符号的元素即可:
original_list = ["9.358,26 €", "Hello World", "3.562,77 €", "3,77 €"] filtered_list = [item for item in original_list if "€" not in item] # 输出结果:["Hello World"]
方法2:基于结尾特征过滤
观察到所有货币项都以 €(空格加欧元符号)结尾,利用字符串的endswith方法判断:
filtered_list = [item for item in original_list if not item.endswith(" €")]
这个方法针对性极强,适配你当前的货币格式。
方法3:基于字符类型过滤(通用场景)
如果担心后续出现不带€的货币格式,可以筛选不包含数字、点或逗号的元素:
filtered_list = [item for item in original_list if not any(c in "0123456789.," for c in item)]
注意:如果你的非货币文本里也包含数字或标点,这个方法就不适用了,需根据实际场景调整。
内容的提问来源于stack exchange,提问作者eliza nyambu
相关产品推荐
相关产品推荐

