我想在python中删除字符串中的字符:
string.replace(',', '').replace("!", '').replace(":", '').replace(";", '')...
但我有很多字符必须删除。我想了一个清单
list = [',', '!', '.', ';'...]
但是如何使用列表来替换字符串中的字符呢?
我想在python中删除字符串中的字符:
string.replace(',', '').replace("!", '').replace(":", '').replace(";", '')...
但我有很多字符必须删除。我想了一个清单
list = [',', '!', '.', ';'...]
但是如何使用列表来替换字符串中的字符呢?
当前回答
''.join(c for c in myString if not c in badTokens)
其他回答
''.join(c for c in myString if not c in badTokens)
另一种使用regex的方法:
''.join(re.split(r'[.;!?,]', s))
这个怎么样,一行字。
reduce(lambda x,y : x.replace(y,"") ,[',', '!', '.', ';'],";Test , , !Stri!ng ..")
另外一个有趣的话题是将UTF-8重音字符从字符串中移除,将其转换为标准的非重音字符:
在python unicode字符串中删除重音的最佳方法是什么?
从主题摘录的代码:
import unicodedata
def remove_accents(input_str):
nkfd_form = unicodedata.normalize('NFKD', input_str)
return u"".join([c for c in nkfd_form if not unicodedata.combining(c)])
下面是more_itertools的方法:
import more_itertools as mit
s = "A.B!C?D_E@F#"
blacklist = ".!?_@#"
"".join(mit.flatten(mit.split_at(s, pred=lambda x: x in set(blacklist))))
# 'ABCDEF'
在这里,我们将在黑名单中找到的项目进行拆分,将结果平直并连接字符串。