python str.split和rsplit笔记

点击查看代码
"""
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}")

运行结果:
image

官方文档:
https://docs.python.org/zh-cn/3/library/stdtypes.html#str.split

posted @ 2024-03-30 15:19  阿慢2010  阅读(84)  评论(0)    收藏  举报