Python字符串替换特殊字符

时间:2012-10-14 21:57:54

标签: 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个小时的问题了)

我这样解决了这个问题:

 my_string = re.sub('[^\w -]', '', my_string).replace('-', ' ').strip(' ')
 subsMade = 1
 while subsMade > 0:
     (my_string, subsMade) = re.subn('  ', ' ', my_string)

1 个答案:

答案 0 :(得分:3)

我同意zigg,你需要reg ex。你可以在这里找到一个温和的介绍:http://www.diveintopython.net/regular_expressions/index.html#re.intro(查看“街道地址”案例研究,它与你想要做的事情有一些相似之处。)

修改

我不是一名前任大师,但是......

import re

pattern = "[- ]+"
re.sub(pattern, " ", your_string)

这将解析前两个示例。 我不确定你是否只需要一个单一的模式就可以完成......可能会有一些聪明人出现。