Python String rsplit() 函数用法
2023-09-17 22:22:41
rsplit()
方法与从指定分隔符拆分字符串并返回包含字符串元素的列表对象split方法相同。
默认分隔符是任何空格字符,例如空格、t
、n
等。
split()
和 rsplit()
之间的唯一区别是指定 maxsplit 参数时。如果指定了 maxsplit 参数,则 rsplit()
方法开始从右侧(从最后一个字符)拆分字符串,
而split()
方法从左侧(从第一个字符)开始拆分。
语法:
str.rsplit(separator, maxsplit)
参数:
分隔符- :(可选)分隔符字符串。默认分隔符是任何空格字符,例如空格、
t
、n
等。 - 最大拆分:(可选)定义可以执行的最大拆分数。因此,该列表最多可以包含
maxsplit + 1
元素。默认的最大拆分为 -1,表示无限拆分。
返回值:
返回包含字符串元素的列表对象。
下面的示例演示 rsplit()
方法的简单用法,该方法与 split()
方法相同。
mystr = 'Hello World'
print(mystr.rsplit())
print('Hello World'.rsplit())
print('HellotWorld'.rsplit())
print('HellonWorld'.rsplit())
print('Hellou2028World'.rsplit())
输出:
['Hello', 'World']
['Hello', 'World']
['Hello', 'World']
['Hello', 'World']
['Hello', 'World']
在上面的示例中,所有字符串都拆分为默认空格字符,例如 ''、''、't' 和 '
',并返回一个列表['Hello', 'World']
。
甚至它在行分隔符"u2028"的 Unicode 字符处拆分。
下面的示例指定分隔符。
langs = 'C,Python,R,Java,SQL,Hadoop'
print(langs.rsplit(','))
fruits = 'apples$banana$mango$fig$pear'
print(fruits.rsplit('$'))
输出:
['C', 'Python', 'R', 'Java', 'SQL', 'Hadoop']
['apples', 'banana', 'mango', 'fig','pear']
在上面的示例中,langs.rsplit(',')
将逗号,
指定为分隔符,fruits.rsplit('$')
将$
符号指定为分隔符。
因此,rsplit()
方法将在每个分隔符处重新拆分字符串,并将字符串的每个部分包含在列表中。
如果指定的分隔符不存在,则返回一个列表,其中包含整个字符串作为元素。
langs = 'C,Python,R,Java,SQL,Hadoop'
print(langs.rsplit('@'))
输出:
['C,Python,R,Java,SQL,Hadoop']
注意:如果分隔符是空字符串''
,则rsplit()
方法将引发ValueError
。
下面的示例通过指定 maxsplit
参数来限制 rsplit。
langs = 'C,Python,R,Java,SQL,Hadoop'
print(langs.rsplit(',', 3))
fruits = 'apples$banana$mango$fig$pear'
print(fruits.rsplit('$', 2))
输出:
['C,Python,R', 'Java', 'SQL', 'Hadoop']
['apples$banana$mango', 'fig', 'pear']
在上面的示例中,langs.rsplit(',', 3)
指定 3 作为 maxsplit 参数,因此它将langs
字符串拆分 3 次,因此列表对象包含四个元素。
它从右侧开始拆分,因此第一个元素是剩余的字符串。(这是它与split()
方法的不同之处。
同样,fruits.rsplit('$', 2)
最多会被拆分两次,返回的列表将包含三个元素。