【问题标题】:Is there any way to account for all delimiters in a string in Python? [duplicate]有没有办法解释 Python 中字符串中的所有分隔符? [复制]
【发布时间】:2020-10-24 17:17:53
【问题描述】:

我正在尝试为一本书(.txt 文件)创建字数统计,并尝试使用以下方法将每一行拆分为单独的单词:

temp = re.split('[; |, |\*|\n| |\|:|.|’|"|&|#|$|(|)|]|//|'']', line)

但是,这不起作用,因为每次我运行程序时,我都必须在列表中添加另一个分隔符。这次我必须添加'-'和'%'。我记得在 Java 中做过类似的事情,我可以指定分隔符的“范围”,当我在这里尝试同样的事情时,它似乎不起作用。

有没有更好的方法来做到这一点,并确保我只得到这个词而不是别的?

【问题讨论】:

  • 判断某事物是否为分隔符的规则是什么?
  • 解析自然语言总是有些不准确。对于统计数据而言,获得大部分正确通常就足够了。

标签: python regex string split delimiter


【解决方案1】:

我认为您正在寻找 \W,即所有非单词字符的集合,即不是字母、数字或下划线。

temp = re.split('\W+', line)

顺便说一下,正则表达式字符集中的字符大多是文字。你的归结为:

[; |,*\n:.’"&#$()]/']

【讨论】:

    猜你喜欢
    • 2011-06-27
    • 2021-04-29
    • 1970-01-01
    • 1970-01-01
    • 2010-12-09
    • 2014-11-19
    • 2010-12-05
    • 2014-06-02
    • 1970-01-01
    相关资源
    最近更新 更多