Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
替换特殊字符的Python字符串_Python_String_Replace_Special Characters - Fatal编程技术网

替换特殊字符的Python字符串

替换特殊字符的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个小时内回答

我需要将“-”替换为空格(但连续不超过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)

我同意zigg,你需要注册ex。你可以在这里找到一个温和的介绍:(查看“街道地址”案例研究,它与你想做的事情有一些相似之处)

编辑:

我不是前大师,但是

import re

pattern = "[- ]+"
re.sub(pattern, " ", your_string)
这将解析前两个示例。
我不确定你所需要的一切是否都可以在一个单一的模式中完成。。。也许会有一些聪明人出现。

正则表达式肯定是个不错的工作。作为回答,你真的应该花更多的精力来解释这样一个regexp的样子。我根本不支持学校或任何家庭作业,无论如何,谢谢你的建设性评论,保罗。