运行结果:点击查看代码
"""
rsplit和split方法演示
str.split(sep=None,maxsplit=-1)
str.rsplit(sep=None,maxsplit=-1)
"""
# 不指定sep或sep为None,拆分空字符串或只包含空格的字符串,返回为[](空列表)
# 1.空字符串
str_1 = ''
li_1_1 = str_1.split()
li_1_2 = str_1.split(sep=None)
print(f"原始字符串 : {str_1} (空字符串) ; 分隔符为空/None ; 拆分结果 : {li_1_1} = {li_1_2}")
# 2.只包含空格的字符串
str_2 = ' '
li_2_1 = str_2.split()
li_2_2 = str_2.split(sep=None)
print(f"原始字符串 : {str_2} (只包含空格的字符串) ; 分隔符为空/None ; 拆分结果 : {li_2_1} = {li_2_2}")
# 不指定sep或sep为None,首尾空格会被忽略(1.不包含首尾空字符;2.多个空格视为单个分隔符)
str_3 = ' 1 2 3 4 None 5 '
li_3_1 = str_3.split()
li_3_2 = str_3.split(sep=None)
print(f"原始字符串 : {str_3} (首尾有空格,中间包含多个空格) ; 分隔符为空/None ; 拆分结果 : {li_3_1} = {li_3_2}")
str_4 = ''
li_4 = str_4.split(sep=' ')
print(f"空字符串用<空格字符>拆分: {li_4}")
# 指定sep,连续的分隔符不会被组合在一起而是被视为分隔空字符串
str_5 = ' '
li_5 = str_5.split(sep=' ')
print(f"包含{len(str_5)}个空格的字符串用<空格字符>拆分 : {li_5}")
str_6 = ' 1 2 3 4 None 5 '
li_6 = str_6.split(sep=' ')
print(f"字符串用<空格字符>拆分 : {li_6}")
str_7 = 'I,am,a,man'
li_7 = str_7.split(sep=',')
print(f"字符串用<逗号>拆分 : {li_7}")
# 使用多个字符进行分隔
str_8 = '可以使用||来对我们的语句||进行分隔'
li_8 = str_8.split('||')
print(f"字符串用<双竖线>拆分 : {li_8}")
# 使用中文字进行分隔
str_9 = '我们可以吃饭,我们可以喝水,我们可以睡觉,我们可以做很多事情'
li_9 = str_9.split('我们')
print(f"字符串用<中文字>拆分 : {li_9}")
# maxsplit给出了拆分次数;不给出或maxsplit为-1,则不限制拆分次数
str_10 = '我们可以吃饭,我们可以喝水,我们可以睡觉,我们可以做很多事情'
li_10 = str_10.split(sep=',', maxsplit=1)
print(f"字符串用<逗号>拆分,拆分次数为1次 : {li_10}")
str_11 = ' 1,2,3,4,5 '
li_11_1 = str_11.split(',')
li_11_2 = str_11.split(',', maxsplit=-1)
print(f"字符串用<逗号>拆分,拆分次数不限制 : {li_11_1} = {li_11_2}")
str_12 = 'He,is,a,boy'
li_12 = str_12.rsplit(',', 1)
print(f"字符串用<逗号>拆分,拆分次数1次 : {li_12}")
官方文档:
https://docs.python.org/zh-cn/3/library/stdtypes.html#str.split