替换特殊字符的Python字符串
我需要将“-”替换为空格(但连续不超过1个,并去掉开头和结尾的所有字符),并删除任何其他特殊字符,例如:替换特殊字符的Python字符串,python,string,replace,special-characters,Python,String,Replace,Special Characters,我需要将“-”替换为空格(但连续不超过1个,并去掉开头和结尾的所有字符),并删除任何其他特殊字符,例如: "Example-1" ---> "Example 1" "Example - 2"---> "Example 2" "Ex amp le-(3)"--->"Ex amp le 3" "--Example%s,,4 "--->"Examples4" 决心 (我必须编辑这个问题,因为我只有8个声誉,我不能在5个小时内回答
"Example-1" ---> "Example 1"
"Example - 2"---> "Example 2"
"Ex amp le-(3)"--->"Ex amp le 3"
"--Example%s,,4 "--->"Examples4"
决心
(我必须编辑这个问题,因为我只有8个声誉,我不能在5个小时内回答我自己的问题)
我是这样解决这个问题的:
my_string = re.sub('[^\w -]', '', my_string).replace('-', ' ').strip(' ')
subsMade = 1
while subsMade > 0:
(my_string, subsMade) = re.subn(' ', ' ', my_string)
我同意zigg,你需要注册ex。你可以在这里找到一个温和的介绍:(查看“街道地址”案例研究,它与你想做的事情有一些相似之处) 编辑: 我不是前大师,但是
import re
pattern = "[- ]+"
re.sub(pattern, " ", your_string)
这将解析前两个示例。
我不确定你所需要的一切是否都可以在一个单一的模式中完成。。。也许会有一些聪明人出现。正则表达式肯定是个不错的工作。作为回答,你真的应该花更多的精力来解释这样一个regexp的样子。我根本不支持学校或任何家庭作业,无论如何,谢谢你的建设性评论,保罗。