删除字符串python中的空格和破折号

时间:2018-09-30 07:51:34

标签: python string python-3.x

我有一个字符串,想删除所有空格,破折号和下划线...我想输出的是字符串A到Z和0到9。 我的版本是Python3 例如:

输入:

fafaf fadfa fafa fa-fa faf_afa@gs!

输出:

fafaffadfafafafafafafafags

我该怎么办? 谢谢

5 个答案:

答案 0 :(得分:2)

尝试一下:

import re

input_ = 'fafaf fadfa fafa fa-fa faf_afa@gs!' 
input_ = re.sub('[^0-9a-zA-Z]+', '', input_)

答案 1 :(得分:2)

您可以使用.isalnum()

''.join(e for e in a if e.isalnum()) 

答案 2 :(得分:2)

如果您希望更快地进行列表理解,@ Rohit会有一个很好的答案:

print(''.join([i for i in s if i.isalnum()]))

演示:

s='fafaf fadfa fafa fa-fa faf_afa@gs!'
print(''.join([i for i in s if i.isalnum()]))

输出:

fafaffadfafafafafafafafags

答案 3 :(得分:1)

尝试一下:

import re

letters_only = re.sub("[^a-zA-Z0-9]", "", your_string) 

答案 4 :(得分:1)

如果您想要其他选择:

if db.First(&user, 77).RecordNotFound() {
    log.Println("UUID:", 77, err)
}

输出:

s='fafaf fadfa fafa fa-fa faf_afa@gs!'
s.translate(str.maketrans('', '','_-@ !'))

str.maketrans()的第三个参数,它必须是一个字符串,其字符将在结果中映射为None。这意味着它们将被删除。

文件:str.maketrans()str.translate()