Python - 返回移除另一个字符串字符的字符串函数

2 投票
2 回答
637 浏览
提问于 2025-04-17 19:22
"""Return a copy of str1 with characters from str2 removed.

filter_string(string, string) -> string
"""

for a in str1:
    if a in str2:
      str1.replace(a,"")

return str1

我这样做对吗?

str1和str2是包含可变字符串的变量

到目前为止,我的输出是 21 oramrfrrdonRsmsov creea h tite twrch

我想要的输出是 21mdnRmvhiwh

2 个回答

1

使用列表推导式:

>>> str1 = "HelloWorld"
>>> str2 = "World"
>>> "".join([i for i in str1 if i not in str2])
'He'
>>> 
5

你的函数可以用非常简单的方法来写,使用的是 str.translate 这个功能:

str1 = str1.translate(None, str2)

这个方法会把 str1 中所有在 str2 里的字符都去掉。

举个例子:

>>> 'Hello, world!'.translate(None, 'lewf!')
Ho, ord

撰写回答