欢迎访问宙启技术站
智能推送

Python中的split函数如何用于字符串分割?

发布时间:2023-06-02 20:57:20

在 Python 编程语言中,split() 函数是用于字符串分割的内置函数之一。Python 版本 2.x 和 Python 版本 3.x 支持 split() 函数,两个版本的函数用法略微有所不同。

1. Python 2.x 中的 split() 函数用法

在 Python 2.x 中,split() 函数的用法如下:

str.split([sep [, maxsplit]])

其中,参数中用中括号 [] 括起来的是可选参数,不写也可以。具体参数说明如下:

- str: 要分割的原始字符串,字符串类型。

- sep: 用于指定分割符,在原始字符串中根据该符号进行字符串分割,字符串类型。默认为所有空字符,包括空格、换行符、制表符等。

- maxsplit: 可选参数,用于指定分割的最大次数,整型。如果不指定,则默认为 -1,表示不限制分割次数。

示例代码如下:

str = 'This is a sample string'
print str.split()                # 使用默认分隔符进行分割,默认分割符包括空格
print str.split(' ')             # 指定空格作为分隔符进行分割
print str.split(' ', 1)          # 指定空格作为分隔符,设置最大分割次数为1
print str.split('sample')        # 指定'sample'字符串作为分隔符,即不分割
print str.split('non_exist')     # 指定不存在的分隔符,返回原字符串

输出结果如下:

['This', 'is', 'a', 'sample', 'string']
['This', 'is', 'a', 'sample', 'string']
['This', 'is a sample string']
['This is a ', ' string']
['This is a sample string']

从输出结果可以看出,当不指定分隔符时,默认以所有空字符作为分隔符进行分割;而当指定 'sample' 作为分隔符时,返回的结果中不包含 'sample';当指定不存在的分隔符时,返回原始字符串。

2. Python 3.x 中的 split() 函数用法

在 Python 3.x 中,split() 函数的用法和 Python 2.x 中略微有所不同。具体参数说明如下:

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

其中,sep 和 maxsplit 参数默认值分别为 None 和 -1,表示使用默认分隔符和不限制分隔次数。

示例代码如下:

str = 'This is a sample string'
print(str.split())              # 使用默认分隔符进行分割
print(str.split(' '))           # 指定空格作为分隔符进行分割
print(str.split(' ', 1))        # 指定空格作为分隔符,仅分割一次
print(str.split('sample'))      # 指定'sample'字符串作为分隔符,即不分割
print(str.split('non_exist'))   # 指定不存在的分隔符,返回原字符串

输出结果和 Python 2.x 中一样。

从以上示例可以看出,Python 的 split() 函数非常灵活,可以根据指定的分隔符在原始字符串中进行分割,并返回一个列表对象。另外,对于某些不需要分割的字符串,可以直接指定无法分割的字符串作为分隔符,这样就能避免出现多余的列表元素。