【问题标题】:Python tokenizing stringsPython 标记字符串
【发布时间】:2014-02-05 06:15:32
【问题描述】:

我是 python 新手,想知道如何根据指定的分隔符对字符串进行标记。 例如,如果我有字符串“brother's”并且我想将其转换为 ["brother", "\s"] 或字符串 "red/blue" 转换为 ["red", "blue"],那么是最合适的方法吗?谢谢。

【问题讨论】:

  • 我会从 pydoc str 开始,然后从那里开始工作。

标签: python regex tokenize


【解决方案1】:

您将使用split 方法:

>>> 'red/blue'.split('/')
['red', 'blue']
>>> "brother's".split("'")
['brother', 's']

【讨论】:

  • 谢谢。如果我有类似“兄弟”之类的东西,在“兄弟”后面加上单引号,我希望它是 ['brother', '\'s']?
【解决方案2】:

您要查找的内容称为split,它在str 对象上调用。例如:

>>> brotherstring = "brother's"
>>> brotherstring.split("'")
['brother', 's']
>>> redbluestring = "red/blue"
>>> redbluestring.split("/")
['red', 'blue']

split 上有几个变体,例如rsplitpartition 等,它们都做不同的事情。阅读文档以找到最适合您目的的文档。

【讨论】:

    【解决方案3】:

    试试这个。

    >>> strr =  "brother's"
    >>> strr.replace("'","\\'").split("\\")
    ['brother', "'s"]
    
    >>> strrr = "red/blue"
    >>> strrr.split('/')
    ['red', 'blue']
    

    【讨论】:

    • 这是一个很好的答案。它显示了如何保留标点符号,以防您的标点符号不是您的分隔符。可以稍后重建原件,或者如果撇号确实不需要,则进一步清理。
    • @VISQL 感谢您的赞赏。
    猜你喜欢
    • 2022-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多