Python rsplit() 语法
rsplit() 是 Python 字符串的一个方法,它会根据某个分割符 “从右到左” 来将字符串分割成多个子串,然后将它们作为列表返回。
语法:
str.rsplit(separator=None, maxsplit=-1)说明:
rsplit() 方法接收以下 2 个参数。
separator(可选,默认值:None):用于分割的符号。如果 separator 省略,则按任意空白字符(空格、换行、制表符等)分割,其中连续空白符会被视为单个分隔符,并且字符串开头和末尾的空白字符会被忽略。maxsplit(可选,默认值:-1):一个非负整数,指定最大分割次数。如果省略 maxsplit 参数或设置为 -1,则表示不限制分割次数。
注意: 如果 maxsplit 参数未指定,则其行为与 split() 方法完全一样。
Python rsplit() 摘要
| 使用频率 | 中 |
|---|---|
| 修改原字符串 | 否 |
| 官方文档 | 查看 |
| 相关方法 | split()、splitlines()、join() |
Python rsplit() 示例
接下来,我们通过几个简单的例子来讲解 Python rsplit() 方法是如何使用的。
示例 1:rsplit() 不带 maxsplit 参数
s = 'Python,C++,Java,Go,Rust'
print(s.split(','))
print(s.rsplit(','))运行结果如下。
['Python', 'C++', 'Java', 'Go', 'Rust']
['Python', 'C++', 'Java', 'Go', 'Rust']分析:
从结果可以看到,如果 rsplit() 不指定 maxsplit 参数,返回结果与 split() 的相同。
示例 2:rsplit() 带 maxsplit 参数
s = 'Python,C++,Java,Go,Rust'
print(s.split(',', 2))
print(s.rsplit(',', 2))运行结果如下。
['Python', 'C++', 'Java,Go,Rust']
['Python,C++,Java', 'Go', 'Rust']分析:
当指定 maxsplit 参数时,split() 方法是 “从左开始” 分割,而 rsplit() 方法是 “从右开始” 分割。
示例 3:rsplit() 使用默认分割符
s = 'Python C++ Java'
print(s.rsplit())运行结果如下。
['Python', 'C++', 'Java']分析:
如果没有指定 separator 参数时,则表示按连续空白符分割。需要注意的是,下面 2 种方式是不等价的。
# 方式 1
s.rsplit()
# 方式 2
s.rsplit(' ')