【问题标题】:Regex for all characters and interpunction所有字符的正则表达式和标点符号
【发布时间】:2016-05-18 20:06:13
【问题描述】:

我正在用 python 抓取论坛页面。

我需要获取所有消息,并且消息需要包含所有标点符号。但我需要删除所有空格。

我试图用这段代码做到这一点:但我没有 . * 和我的输出中的其他内容。

    found = [re.sub("[.*]+", " ", d.text.encode("utf-8").decode("utf-8"))]
    rez.extend(found)

for line in rez:
    line = re.sub(r'^\s+$|\n', '', line)
    text_file.write(line + "\n\n")
    print(line)

【问题讨论】:

  • 如果要删除所有空格,found = ''.join(text.split())有什么问题?
  • 或者干脆str.replace?
  • @MichaelFranzen - 因为str.replace 使用特定的字符串,而不是任何空格的序列。你必须为每个可能的空白字符做一个replace
  • re.sub("[.*]+", " ", s) 将所有由.* 组成的运行替换为一个空格;有效地,它删除了所有句号和星号。你说你不想要那个;如果是这样,你为什么这样做?

标签: python parsing web-scraping forum


【解决方案1】:

要从字符串 line 中删除所有空格,您可以这样做:

re.sub("\s", "",line)

这将保留所有其他标点符号并仅删除空格。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-27
    • 1970-01-01
    • 1970-01-01
    • 2017-02-03
    • 2017-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多