替换字符串python2.7中的未知字符

2024-10-02 16:34:24 发布

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

如何定义字符(在列表或字符串中),并将任何其他字符替换为。。让我们说一个'?'在

示例:

strinput = "abcdefg#~"
legal = '.,/?~abcdefg' #legal characters
while i not in legal:
    #Turn i into '?'
print output

Tags: 字符串in示例列表定义not字符turn
2条回答

如果这是一个大文件,请分块读取,然后应用re.sub(..),如下所示。^在一个类中(方括号)代表否定(类似于说“anythin-than”)

>>> import re
>>> char = '.,/?~abcdefg'
>>> re.sub(r'[^' + char +']', '?', "test.,/?~abcdefgh")
'?e??.,/?~abcdefg?'

将合法字符放入一个集合中,然后使用^{}测试字符串的每个字符。使用^{}方法和conditional expression构造新字符串。在

>>> s = "test.,/?~abcdefgh"
>>> legal = set('.,/?~abcdefg')
>>> s = ''.join(char if char in legal else '?' for char in s)
>>> s
'?e??.,/?~abcdefg?'
>>> 

相关问题 更多 >