我需要用空格替换“ - ”(但是连续不超过1,并在开头和结尾删除所有内容)并删除任何其他特殊字符,例如:
"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)
答案 0 :(得分:3)
我同意zigg,你需要reg ex。你可以在这里找到一个温和的介绍:http://www.diveintopython.net/regular_expressions/index.html#re.intro(查看“街道地址”案例研究,它与你想要做的事情有一些相似之处。)
修改强>
我不是一名前任大师,但是......
import re
pattern = "[- ]+"
re.sub(pattern, " ", your_string)
这将解析前两个示例。 我不确定你是否只需要一个单一的模式就可以完成......可能会有一些聪明人出现。