对于在字符串中最后一次出现分隔符时拆分字符串,推荐的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
表示从末尾开始的最后一个。如何做到这一点?
发布于 2013-02-22 05:06:55
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()
,您可以只拆分最右侧的匹配项。
发布于 2018-03-16 00:40:10
您可以使用rsplit
string.rsplit('delimeter',1)[1]
从反转中获取字符串。
https://stackoverflow.com/questions/15012228
复制相似问题