在字符串中 最后一次 出现分隔符时拆分字符串的推荐 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
表示末尾的最后一个。如何才能做到这一点?
原文由 user248237 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用
.rsplit()
或.rpartition()
代替:str.rsplit()
允许您指定拆分的次数,而str.rpartition()
仅拆分一次但始终返回固定数量的元素(前缀、分隔符和后缀),并且对于单个拆分情况更快.演示:
这两种方法都从字符串的右侧开始拆分;通过将
str.rsplit()
最大值作为第二个参数,您可以拆分最右边的事件。如果您只需要最后一个元素,但分隔符有可能不存在于输入字符串中或者是输入中的最后一个字符,请使用以下表达式:
如果你需要分隔符消失,即使它是最后一个字符,我会使用:
这使用了
string.rpartition()
仅当分隔符存在时才将分隔符作为第二个参数返回,否则返回空字符串。