我希望能够从字符串中删除我存储在列表中的单词。 目前我的代码如下:
old_string = "BANK TRANSACTION NUM1204012 JOHN"
remove_list = ['BANK TRASACTION', 'PAYMENT TO', 'PAYMENT FROM', 'BANK FEE']
for x in range(len(remove_list)):
new_string = old_string.replace(remove_list[x], "")
这个方法没有改变字符串中的任何东西 旧字符串也将每次在不同的 for 循环中更改,我试图从银行对帐单中删除不必要的单词,以使它们更整洁。 我希望能够保留号码和姓名,但删除其余部分 例如,我想: new_string = NUM1204012 JOHN 我也试过使用正则表达式
new_string = re.sub(remove_list[x], '', old_string)
但是这个方法删除了remove_list中每个字符的实例
答案 0 :(得分:1)
您将更新后的字符串存储在 new_string
中。这就是字符串没有改变的原因。将其替换为 old_string
。
old_string = "BANK TRANSACTION NUM1204012 JOHN"
remove_list = ['BANK TRANSACTION', 'PAYMENT TO', 'PAYMENT FROM', 'BANK FEE']
for x in remove_list:
old_string = old_string.replace(x, "")
print(old_string.strip())
说明
old string
内容。strip
方法用于去除字符串开头和结尾的空格。输出
NUM1204012 JOHN
答案 1 :(得分:0)
随着您的实施,您需要执行以下操作
old_string = "BANK TRANSACTION NUM1204012 JOHN"
remove_list = ['BANK TRANSACTION', 'PAYMENT TO', 'PAYMENT FROM', 'BANK FEE']
new_string = old_string
for to_remove in remove_list:
new_string = new_string.replace(to_remove, "")
但是这个解决方案不是最优的。 您在 remove_list 中也有错别字