我有一个字符串,想删除所有空格,破折号和下划线...我想输出的是字符串A到Z和0到9。 我的版本是Python3 例如:
输入:
fafaf fadfa fafa fa-fa faf_afa@gs!
输出:
fafaffadfafafafafafafafags
我该怎么办? 谢谢
答案 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。这意味着它们将被删除。