【问题标题】:split string in to 2 based on last occurrence of a separator根据最后一次出现的分隔符将字符串拆分为 2
【发布时间】:2011-11-13 04:25:02
【问题描述】:

我想知道python中是否有任何内置函数可以根据最后一次出现的分隔符将字符串分成两部分。

例如: 考虑字符串 "a b c,d,e,f" ,在分割分隔符 "," 之后,我希望输出为

“a b c,d,e”和“f”。

我知道如何操作字符串以获得所需的输出,但我想知道 python 中是否有任何内置函数。

【问题讨论】:

    标签: python string


    【解决方案1】:

    使用rpartition(s)。它正是这样做的。

    您也可以使用rsplit(s, 1)。

    【讨论】:

    • 不完全是:"a b c,d,e,f".rpartition(',') -> ('a b c,d,e', ',', 'f')
    • @Vanuan,实际上就是这样。也只是出于某种原因返回分隔符: str.rpartition(sep) 在最后一次出现 sep 时拆分字符串,并返回一个 3 元组,其中包含分隔符之前的部分、分隔符本身和分隔符之后的部分.如果没有找到分隔符,则返回一个包含两个空字符串的 3 元组,后跟字符串本身。
    • rsplit(s, 1) 和rpartition(s) 输出不同,你必须承认。
    【解决方案2】:
    >>> "a b c,d,e,f".rsplit(',',1)
    ['a b c,d,e', 'f']
    

    【讨论】:

      【解决方案3】:

      您可以使用rsplit:通过最后一次出现的分隔符来拆分字符串:

      返回字符串中的单词列表,由分隔符字符串分隔(从右开始)。

      用最后一个逗号分割:

      >>> "a b c,d,e,f".rsplit(',', 1)
      ['a b c,d,e', 'f']
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-01-06
        • 2014-10-08
        • 1970-01-01
        • 2011-01-28
        • 1970-01-01
        • 2021-01-29
        相关资源
        最近更新 更多