2013-03-17 70 views
2
"""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 

我關閉了嗎?Python - 返回一個字符串的函數,從另一個字符串中刪除字符

str1和str2的包含變量字符串

到目前爲止我的輸出是21 oramrfrrdonRsmsov CREEA^h蒂特twrch

所需的輸出是21mdnRmvhiwh

+0

作爲一個側面說明,你可以只使用這個:'STR1 = str1.translate(無,STR2)' – Volatility 2013-03-17 03:27:46

+1

熱潮絕對的傳奇^好人緣你,先生。 – Josh123 2013-03-17 03:31:38

+0

在Python 3中:'str1 = re.sub('[%s]'%re.escape(str2),'',str1)'(忽略包含多個Unicode碼點的字符問題)。 – jfs 2013-03-17 05:48:10

回答

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 
相關問題