
python 去掉字符串的符号
常见问答
如何在Python中删除字符串中的标点符号?
我有一段包含各种标点符号的字符串,怎样才能用Python去除这些符号,只保留字母和数字?
使用Python移除字符串中的标点符号
可以利用字符串的translate方法配合字符串模块中的punctuation字符集快速删除字符串中的标点符号。例如:import string; s = 'Hello, world!'; s = s.translate(str.maketrans('', '', string.punctuation)),执行后字符串中的逗号和感叹号会被移除。
Python处理字符串时有哪些常用方法可以去除非字母数字字符?
除了删除标点符号外,有没有办法去掉字符串中的其他特殊符号或空白符号?
利用正则表达式过滤字符串中的非字母数字字符
可使用Python的re模块,通过正则表达式替换字符串中的非字母数字字符,例如:import re; s = 'Hello, world! @2022'; clean_s = re.sub(r'[^A-Za-z0-9]', '', s) 这样即可去除所有除英文字母和数字外的字符。
怎样保留字符串中的特定符号,同时删除其他符号?
如果需要去掉绝大多数符号,但想保留字符串中的某些特定符号,比如下划线或短横线,应该怎么做?
利用translate或正则表达式选择性删除字符串符号
可以自定义需要保留的符号集合,例如用string.punctuation去掉部分符号,只保留想保留的符号。用translate时创建删除字符集合时排除特定符号,或者用正则表达式替换时采用类似[^A-Za-z0-9_-]的表达式,只替换非字母数字及未被指定保留的符号。