0
点赞
收藏
分享

微信扫一扫

python第三节:Str字符串类型(7)

Go_Viola 2024-01-18 阅读 9

str.split(sep=None, maxsplit=- 1)

使用 sep 作为分隔字符串,返回一个由字符串内单词组成的列表。如果给出了 maxsplit,则最多进行 maxsplit 次拆分(因此,列表最多会有maxsplit+1个元素)。 如果 maxsplit 未指定或为-1,则不限制拆分次数(进行所有可能的拆分)。如果给出了 sep,则连续的分隔符不会被组合在一起而是被视为分隔空字符串 (例如'1,,2'.split(',')将返回['1','','2'])。 sep 参数可能由多个字符组成 (例如'1<>2<>3'.split('<>')将返回['1','2','3'])。 使用指定的分隔符拆分空字符串将返回['']。

例子:

#

argument1 = 'abc,dfi,12345,9809'

argument2 = '123,,,4567'

arg3 = '  abc  bb   dcc   '

arg4=''

arg5=' '



print(argument1.split(','))

print(argument1.split(',',maxsplit=1))

print(argument2.split(','))

print(arg3.split(' '))

#  sep 未指定或为 None,则会应用另一种拆分算法:连续的空格会被视为单个分隔符,其结果将不包含开头或末尾的空字符串,如果字符串包含前缀或后缀空格的话。

print(arg3.split())

#  使用 None 拆分空字符串或仅包含空格的字符串将返回 []

print(arg4.split())

#  使用 None 拆分空字符串或仅包含空格的字符串将返回 []

print(arg5.split())

结果:

['abc', 'dfi', '12345', '9809']

['abc', 'dfi,12345,9809']

['123', '', '', '4567']

['', '', 'abc', '', 'bb', '', '', 'dcc', '', '', '']

['abc', 'bb', 'dcc']

[]

[]

str.rsplit(sep=None, maxsplit=- 1)

相当于split(),只不过从右边开始。

例子:

#

argument1 = 'abc,dfi,12345,9809'

argument2 = '123,,,4567'

arg3 = '  abc  bb   dcc   '

arg4=''

arg5=' '



print(argument1.rsplit(','))

print(argument1.rsplit(',',maxsplit=1))

print(argument2.rsplit(','))

print(arg3.rsplit(' '))

#  sep 未指定或为 None,则会应用另一种拆分算法:连续的空格会被视为单个分隔符,其结果将不包含开头或末尾的空字符串,如果字符串包含前缀或后缀空格的话。

print(arg3.rsplit())

#  使用 None 拆分空字符串或仅包含空格的字符串将返回 []

print(arg4.rsplit())

#  使用 None 拆分空字符串或仅包含空格的字符串将返回 []

print(arg5.rsplit())

结果:

['abc', 'dfi', '12345', '9809']

['abc,dfi,12345', '9809']

['123', '', '', '4567']

['', '', 'abc', '', 'bb', '', '', 'dcc', '', '', '']

['abc', 'bb', 'dcc']

[]

[]

str.splitlines(keepends=False)

按行拆分字符串,返回一个列表。

以下都被视为行的结束:

符号

描述

\n

换行

\r

回车

\r\n

回车+换行

\v或\x0b

行制表符

\f或\x0c

换表单

\x1c

文件分隔符

\x1d

组分隔符

\x1e

记录分隔符

\x85

下一行(C1控制码)

\u2028

行分隔符

\u2029

段分隔符

 

 

 

 

splitlines和split不同的是对于空字符串,splitlines不会处理末尾的行。

例子:

#

arg1 = 'ab c\n\nde fg\rkl\r\n'

arg2 = 'ab c\n\nde fg\rkl\r\n'

arg3 = 'One line\n'

arg4='Two lines\n'

arg5=' '

arg6=''



print(arg1.splitlines())

print(arg1.splitlines(keepends=True))

print(arg2.splitlines())

print(arg3.splitlines())

print(arg4.splitlines())

print(arg4.split('\n'))

print(arg5.splitlines())

print(arg6.splitlines())

 

结果:

['ab c', '', 'de fg', 'kl']

['ab c\n', '\n', 'de fg\r', 'kl\r\n']

['ab c', '', 'de fg', 'kl']

['One line']

['Two lines']

['Two lines', '']

[' ']

[]

举报

相关推荐

0 条评论