【问题标题】:Python String replacing special charactersPython字符串替换特殊字符
【发布时间】:2012-10-14 21:57:54
【问题描述】:

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

【问题讨论】:

标签: python string replace special-characters


【解决方案1】:

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

编辑:

我不是注册专家,但是...

import re

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

这将解析您的前两个示例。 我不确定你是否可以在一个模式中完成所有你需要的事情......愿一些智者出现。

【讨论】:

  • 作为答案,您确实应该花更多的精力来解释这样的正则表达式的外观。
  • 我根本不是为了学校或任何家庭作业,无论如何感谢您的建设性意见 Paulo。
猜你喜欢
  • 2014-07-22
  • 2022-01-22
  • 2016-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-17
  • 2015-03-17
相关资源
最近更新 更多