根据最后出现的分隔符将字符串分成2个


100

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

例如:考虑字符串“ abc,d,e,f”,在分隔符“,”分割后,我希望输出为

“ abc,d,e”和“ f”。

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

Answers:


118

使用rpartition(s)。它确实做到了。

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


11
不完全正确:“ abc,d,e,f” .rpartition(',')->('abc,d,e',',','f')
Vanuan

@Vanuan,实际上正是。也只是出于一个或另一个原因返回分隔符:str.rpartition(sep)在最后出现sep时拆分字符串,并返回一个三元组,其中包含分隔符之前的部分,分隔符本身以及分隔符之后的部分。如果找不到分隔符,则返回一个包含两个空字符串的三元组,然后是字符串本身。
Petar Ivanov 2014年

23
rsplit(s, 1)rpartition(s)输出是不同的,您必须承认。
Vanuan 2014年


54

您可以使用最后一个分隔符来分割字符串rsplit

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

要以最后一个逗号分隔:

>>> "a b c,d,e,f".rsplit(',', 1)
['a b c,d,e', 'f']
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.