首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >拆分Python字符串中的最后一个分隔符?

拆分Python字符串中的最后一个分隔符?
EN

Stack Overflow用户
提问于 2013-02-22 05:06:16
回答 2查看 237.9K关注 0票数 303

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

代码语言:javascript
复制
# 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表示从末尾开始的最后一个。如何做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-22 05:06:55

请改用.rsplit().rpartition()

代码语言:javascript
复制
s.rsplit(',', 1)
s.rpartition(',')

str.rsplit()允许您指定拆分的次数,而str.rpartition()只拆分一次,但始终返回固定数量的元素(前缀、分隔符和后缀),并且对于单个拆分的情况更快。

演示:

代码语言:javascript
复制
>>> 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(),您可以只拆分最右侧的匹配项。

票数 523
EN

Stack Overflow用户

发布于 2018-03-16 00:40:10

您可以使用rsplit

代码语言:javascript
复制
string.rsplit('delimeter',1)[1]

从反转中获取字符串。

票数 35
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15012228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档