当前位置: 首页 > 知识库问答 >
问题:

在Python字符串中分割最后一个分隔符?

拓拔烨赫
2023-03-14

在字符串中分隔符的最后一次出现时拆分字符串的推荐Python习惯用法是什么?例如:

# instead of regular split
>> s = "a,b,c,d"
>> s.split(",")
>> ['a', 'b', 'c', 'd']

# ..split only on last occurrence of ',' in string:
>>> s.mysplit(s, -1)
>>> ['a,b,c', 'd']

mysplit接受第二个参数,该参数是要拆分的分隔符的引用。与常规列表索引一样,-1表示从末尾开始的最后一个。如何做到这一点?

共有3个答案

薛烈
2023-03-14

我这么做只是为了好玩

    >>> s = 'a,b,c,d'
    >>> [item[::-1] for item in s[::-1].split(',', 1)][::-1]
    ['a,b,c', 'd']

注意:请参考下面的第一个评论,这个答案可能会出错。

姜志行
2023-03-14

您可以使用rsplit

string.rsplit('delimeter',1)[1]

从反面获取字符串。

宣高朗
2023-03-14

使用。rsplit()。rpartition()改为:

s.rsplit(',', 1)
s.rpartition(',')

str.rsplit()用于指定拆分的次数,而str.rpartition()仅拆分一次,但始终返回固定数量的元素(前缀、分隔符)

演示:

>>> s = "a,b,c,d"
>>> s.rsplit(',', 1)
['a,b,c', 'd']
>>> s.rsplit(',', 2)
['a,b', 'c', 'd']
>>> s.rpartition(',')
('a,b,c', ',', 'd')

两种方法都从字符串的右侧开始拆分;通过给str.rsplit()一个最大值作为第二个参数,您可以只拆分最右边的部分。

 类似资料:
  • 问题内容: 对于在字符串中 最后一次 出现定界符时拆分字符串的建议Python惯用法是什么?例: 接受第二个参数,即要分割的分隔符的出现。像常规列表索引一样,表示末尾的末尾。如何才能做到这一点? 问题答案: 使用 或代替: 可让您指定分割次数,而仅分割一次,但总是返回固定数量的元素(前缀,定界符和后缀),并且对于单个分割情况而言更快。 演示: 两种方法都从字符串的右侧开始拆分;通过将最大值作为第二

  • 问题内容: 我在网上找到了一些答案,但是我没有使用正则表达式的经验,我相信这里是需要的。 我有一个字符串,需要用分隔 或也就是说,它必须是分号或逗号后跟一个空格。没有尾随空格的单个逗号应保持不变 示例字符串: 应该拆分为包含以下内容的列表: 问题答案: 幸运的是,Python内置了:) 更新: 在你的评论之后:

  • 问题内容: 如何在定界符哪里分割此字符串 获得?的输出 问题答案: 你可以使用以下功能:

  • 问题内容: 这是解释此问题的最简单方法。这是我正在使用的: 这就是我想要的: 原因是我想将字符串拆分为标记,对其进行操作,然后再次将其放回原处。 问题答案:

  • 问题内容: 我有以下字符串: 我“肯定”想“上学”。 现在,我想在省略号处分割此字符串,即我想获得以下输出: 我会 一定 喜欢 上学 。 问题答案: 如果您是用引号()代替省略号,最简单的解决方案是使用 :

  • 问题内容: 我想用和分开 因此处理后应该得到: 问题答案: 对更新问题的更新答案: