【问题标题】:Tokenizing, separating tokens split by punctuation [duplicate]标记化,用标点符号分隔标记[重复]
【发布时间】:2017-09-21 04:59:20
【问题描述】:

给定一个像“很棒的饮料,牛肉哈希,咖啡,墨西哥卷饼。”这样的文本,我知道我可以使用 NLTK 的 Tweet Tokenizer 对其进行标记,例如生成:

['Great',
 'drinks',
 ',',
 'beef',
 'hash',
 ',',
 'coffee',
 ',',
 'burritos',
 '.']

我想分别处理逗号和句号之前的每个部分,以生成像[Great drinks, beef hash, coffee, burritos] 这样的列表。我该怎么做?

【问题讨论】:

    标签: python list nltk tokenize


    【解决方案1】:
    import re
    s= "Great drinks , beef hash, coffee, burritos."
    print (re.findall(r"[\w']+", s))
    

    对于带有'-'(连字符)的单词

    print (re.findall(r"([\w']+(?:\S-\S)?[\w'])+", s))
    

    【讨论】:

    • 完美 - 谢谢
    【解决方案2】:
    msg = "Great drinks , beef hash, coffee, burritos."
    msg.translate(str.maketrans(",.", "  ")).split()
    

    完成这项工作。

    【讨论】:

    • 如果标点字符增加,则太长了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-12
    • 1970-01-01
    • 2019-01-28
    相关资源
    最近更新 更多