替换字符串Python中的字符

2024-04-23 16:04:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在寻找一种方法来替换句子中的字符,因为我们有:

sentence = "hello - world!: ¡hola - mundo"

我需要像这样->;你好,世界霍拉·蒙多

我能行

^{pr2}$

但这似乎不是一个好的解决办法

到目前为止,我有这个,但它不能取代我想要的:

for ch in ["!",":"]:
        if ch in sentence:
            sentence = sentence.replace(ch," " + ch)

有什么建议吗? 谢谢您。在


Tags: 方法ingthelloforworld世界ch
2条回答

您可以对要保留的所有字符进行set,然后使用生成器表达式保留所有这些字母。或者相反地,一个set的字符被删除并保留除了那些字符以外的所有字符。^{} library有一些有用的东西,例如string.ascii_lowercase或{}。在

>>> import string
>>> keep = set(string.ascii_lowercase + string.ascii_uppercase + ' ')

>>> ''.join(i for i in sentence if i in keep)
'hello  world hola  mundo'

您可以不使用字母字符拆分句子,并将具有len>0表示拒绝''的句子连接起来:

>>> import re
>>> ' '.join([i for i in re.split(r'\W',sentence) if len(i)])
'hello world hola mundo'

相关问题 更多 >