【问题标题】:Python Text Cleaning Remove spaces between non alpha numeric charactersPython文本清理删除非字母数字字符之间的空格
【发布时间】:2016-08-31 09:44:28
【问题描述】:

我有一个文本文件,其中包含字母数字和非字母数字字符。

我想删除两个非字母数字字符之间的任何空格。

我怎样才能有效地做到这一点?

任何方法/流行的库都可以。

【问题讨论】:

  • from re import sub 应该给你一个开始。
  • 正则表达式对此非常有用

标签: python parsing text


【解决方案1】:

以下是您问题的可能解决方案:

import re

file = """
    7     u         p, S   a k    s F i f t h A v e, A u d i A     4, C a n o n A 7 5
"""

print re.sub(r"([A-Za-z0-9])\ *([A-Za-z0-9])\ *", r"\1\2", file)

我认为re.sub 是一个不错的选择。

【讨论】:

  • x   y   ## 将产生xy##。无论如何,用勺子喂他们一个解决方案来鼓励既不研究也不努力的问题并不是一个好主意。
  • @spectras 没错,这个解决方案不适用于您的反例,很好。另一方面,我不同意你不鼓励这类低质量问题的观点,为什么不呢?为什么不积极主动地尝试创造好的答案?
  • 诚然,这是我对 SO 上的 recurring 有争议的 point 的个人看法。我个人不会因此而否决,但我会时不时地在评论中提到它,当问题显示特别低的努力和答案不太可能对其他人有用时。无论如何,任何一个链接的元问题都是比这里讨论这个更好的地方:)
  • @spectras 很公平,在任何情况下,你的反对意见都是有道理的,因为代码没有像你用你的反例证明的那样正确解决问题;)
  • @user113531> 关键是,如果你只是在谷歌中复制粘贴你的问题的标题,你会立即得到re.sub 作为第一个答案(嗯,现在是第二个)。就在谷歌预览中,甚至无需实际打开链接。在 SO 上发布问题之前值得尝试。
猜你喜欢
  • 2020-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多