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

删除字符串python中的空格和破折号,python,string,python-3.x,Python,String,Python 3.x,我有一个字符串,想删除所有空格、破折号和下划线。。。我想输出的是一个字符串a到Z和0到9。 我的版本是Python3 例如: 输入: fafaf fadfa fafa fa-fa faf_afa@gs! 输出: fafaffadfafafafafafafafags 我该怎么办? 谢谢试试这个: import re input_ = 'fafaf fadfa fafa fa-fa faf_afa@gs!' input_ = re.sub('[^0-9a-zA-Z]+', '', input

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

输入:

fafaf fadfa fafa fa-fa faf_afa@gs!
输出:

fafaffadfafafafafafafafags
我该怎么办? 谢谢

试试这个:

import re

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

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

import re

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

letters_only = re.sub("[^a-zA-Z0-9]", "", your_string) 
您可以使用
.isalnum()


@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
'fafaffadfafafafafafafafags'

如果您需要其他选项:

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

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


文件:和

Yup@U9转发