Python rpartition() 语法
rpartition() 是 Python 字符串的一个方法,它会根据指定的分割符来对字符串进行分割,然后返回一个包含 3 个元素的元组。
语法:
str.rpartition(sep)说明:
rpartition() 方法接收单个参数。
sep(必选):指定分割符。
如果字符串包含指定分割符,则会返回一个包含 3 个元素的元组:第 1 个元素是左边的子串,第 2 个元素是分割符,第 3 个元素是右边的子串。
(左子串 , 分割符 , 右子串)注意: 如果字符串中包含多个分割符,partition() 是在 “第一个” 分割符处进行分割,而 rpartition() 是在 “最后一个” 分割符处进行分割。
Python rpartition() 摘要
| 使用频率 | 低 |
|---|---|
| 修改原字符串 | 否 |
| 官方文档 | 查看 |
| 相关方法 | partition()、rsplit() |
Python rpartition() 示例
接下来,我们通过几个简单的例子来讲解 Python rpartition() 方法是如何使用的。
示例 1:rpartition() 基本用法
s = 'Python*Java'
result = s.rpartition('*')
print(result)运行结果如下。
('Python', '*', 'Java')分析:
对于 s.rpartition('') 来说,'' 是分割符。rpartition() 会从右向左寻找分割符并将其拆开,最终返回一个包含 3 个元素的元组:左边是 'Python',中间是 '*',右边是 'Java'。
示例 2:字符串包含多个分割符
s = 'Python*Java*Go'
result = s.rpartition('*')
print(result)运行结果如下。
('Python*Java', '*', 'Go')分析:
如果字符串中包含多个分割符,则 rpartition() 方法只会在最后一个分割符处进行分割。
示例 3:字符串不包含分割符
s = 'PythonJavaGo'
result = s.rpartition('*')
print(result)运行结果如下。
('', '', 'PythonJavaGo')分析:
如果字符串不包含指定的分割符,rpartition() 会将整个字符串当成元组的最后一个元素返回,而元组的前 2 个元素则都是空字符串 ''。这与 partition() 找不到分割符时的返回顺序正好相反。
示例 4:分割符在开头或结尾
s1 = '*PythonJava'
s2 = 'PythonJava*'
print(s1.rpartition('*'))
print(s2.rpartition('*'))运行结果如下。
('', '*', 'PythonJava')
('PythonJava', '*', '')分析:
如果分割符在开头时,左子串为空字符串。如果分割符在末尾时,右子串为空字符串。
