Python中split()方法常见用法总结大全

 更新时间:2025年05月17日 09:33:23   作者:码了又码  
这篇文章主要介绍了Python中split()方法常见用法总结的相关资料,Python的split()方法用于按分隔符分割字符串为列表,支持sep和maxsplit参数,可处理多种分隔符、多行文本及Unicode字符,需要的朋友可以参考下

一、基本语法

split()是 Python 中字符串(str)对象的一个非常强大的内置方法,用于将字符串按照指定的分隔符拆分成多个子字符串,并返回一个包含这些子字符串的列表

str.split(sep = None, maxsplit = -1)
text = "a-b-c-d-e-f"
parts = text.split('-', 3)
print(parts)  # 输出: ['a', 'b', 'c', 'd-e-f']

1. sep(可选)

指定用于分割字符串的分隔符。如果未指定,默认使用任何空白字符(如空格、制表符 \t、换行符 等)作为分隔符

2. maxsplit(可选)

指定分割的最大次数。如果提供了该参数,字符串将被分割成 maxsplit + 1 个子字符串。默认值为 -1,表示不限制分割次数,即尽可能多地分割。

二、常见用法示例

1. 使用默认分隔符(空白)

当不指定 sep 参数时,split() 会使用任何空白字符作为分隔符,并自动忽略多余的空格。

text = "Hello World!   How are you?"
words = text.split()
print(words) # ['Hello', 'World!', 'How', 'are', 'you?']

2. 指定分隔符

text = "apple,banana,cherry,dates"
fruits = text.split(',')
print(fruits) # ['apple', 'banana', 'cherry', 'dates']

3. 使用多个字符作为分隔符(结合正则使用)

import re

text = "one--two---three----four"
parts = re.split('--+', text)
print(parts) # ['one', 'two', 'three', 'four']

4. 指定最大分割次数

text = "one two three four five"
parts = text.split(' ', 2)
print(parts) # ['one', 'two', 'three four five']

5. 分割空字符串

# 分割空字符串,不指定分隔符
print("".split())          # 输出: []

# 分割空字符串,指定分隔符
print("".split(','))       # 输出: ['']

# 分割只有一个字符的字符串
print("a".split(','))      # 输出: ['a']

6. 处理连续的分隔符

text = "one,,two,three,,four"
parts = text.split(',')
print(parts) # ['one', '', 'two', 'three', '', 'four']

如果需要忽略连续的分隔符,可以使用正则表达式:

import re

text = "one,,two,three,,four"
parts = re.split(r',+', text)
print(parts) # ['one', 'two', 'three', 'four']

三、高级用法

1. rsplit()

rsplit() 方法与 split() 类似,但从字符串的右侧开始分割。

text = "one two three four"

# 从左侧分割
print(text.split(' ', 2))   # 输出: ['one', 'two', 'three four']

# 从右侧分割
print(text.rsplit(' ', 2))  # 输出: ['one two', 'three', 'four']

2. 分割包含多种分隔符的字符串

使用正则表达式模块 re 可以实现复杂的分隔符分割。

import re

text = "apple;banana, cherry|dates"
parts = re.split(r'[;,|\s]+', text)
print(parts) # ['apple', 'banana', 'cherry', 'dates']

4. 分割多行字符串

splitlines() 方法用于按照行边界拆分多行字符串,而 split('') 也可以实现类似功能,但 splitlines() 更加全面,能够处理不同平台的换行符。

text = "Hello\nWorld\r
Python\rAnother line"

# 使用 split('
')
print(text.split('
'))  # 输出: ['Hello', 'World\r', 'Python\rAnother line']

# 使用 splitlines()
print(text.splitlines())  # 输出: ['Hello', 'World', 'Python', 'Another line']

5. 分隔符在字符串的开头或结尾

如果分隔符出现在字符串的开头或结尾,split() 会在结果中包含空字符串。

text = ",apple,banana,,cherry,"

parts = text.split(',')
print(parts)  # 输出: ['', 'apple', 'banana', '', 'cherry', '']

如果不需要开头和结尾的空字符串,可以结合 strip() 方法使用:

parts = text.strip(',').split(',')
print(parts)  # 输出: ['apple', 'banana', '', 'cherry']

6. 处理Unicode字符

split() 方法同样适用于包含 Unicode 字符的字符串。

text = "你好,世界,Python"
parts = text.split(',')
print(parts)  # 输出: ['你好', '世界', 'Python']

总结 

到此这篇关于Python中split()方法常见用法总结的文章就介绍到这了,更多相关Python split()方法用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python实现挑选出来100以内的质数

    python实现挑选出来100以内的质数

    这篇文章主要介绍了python实现挑选出来100以内的质数,由于是新手,思路有限,如有问题,还请大家指正,需要的朋友可以参考下
    2015-03-03
  • Python结合wxauto实现智能微信聊天机器人

    Python结合wxauto实现智能微信聊天机器人

    wxauto 是我在2020年开发的一个基于 UIAutomation 的开源 Python 微信自动化库,这篇文章主要介绍了Python结合wxauto实现智能微信聊天机器人,需要的朋友可以参考下
    2024-07-07
  • python实现的config文件读写功能示例

    python实现的config文件读写功能示例

    这篇文章主要介绍了python实现的config文件读写功能,结合实例形式分析了Python文件读写相关操作技巧,需要的朋友可以参考下
    2019-09-09
  • Python中rasterio库的实现

    Python中rasterio库的实现

    Rasterio是一个用于读写光栅数据的Python库,它专注于快速和可靠地处理大规模地理空间栅格数据,本文主要介绍了Python中rasterio库的实现,感兴趣的可以了解一下
    2025-04-04
  • 教你使用Python实现一个简易版Web服务器

    教你使用Python实现一个简易版Web服务器

    这篇文章主要介绍了教你使用Python实现一个简易版Web服务器,本篇文章将通过实现一个简易版的Web服务器,帮助读者理解Python网络编程的基本概念和技巧,需要的朋友可以参考下
    2023-04-04
  • Python包管理工具核心指令uvx举例详细解析

    Python包管理工具核心指令uvx举例详细解析

    这篇文章主要介绍了Python包管理工具核心指令uvx的相关资料,uvx是uv工具链中用于临时运行Python命令行工具的高效执行器,依托Rust实现,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-06-06
  • Python中函数的闭包和装饰器示例详解

    Python中函数的闭包和装饰器示例详解

    Python中的闭包和装饰器是两种非常重要的编程概念,它们都是基于函数的特性,特别是涉及到作用域和函数的嵌套,这篇文章主要介绍了Python中函数的闭包和装饰器的相关资料,需要的朋友可以参考下
    2025-08-08
  • Python如何轻松实现在Excel工作表中插入行与列

    Python如何轻松实现在Excel工作表中插入行与列

    Excel表格的编辑是数据处理中的常见需求,无论是添加新的数据列,还是插入空白行以分隔内容,下面小编就来和大家讲讲如何 通过Python代码在Excel中插入行和列吧
    2025-05-05
  • Python+OpenCV实现阈值分割的方法详解

    Python+OpenCV实现阈值分割的方法详解

    阈值分割法是一种基于区域的图像分割技术,原理是把图像像素点分为若干类。本文将利用Python+OpenCV实现阈值分割,感兴趣的可以了解一下
    2022-05-05
  • 基于python实现生成指定大小txt文档

    基于python实现生成指定大小txt文档

    这篇文章主要介绍了基于python实现生成指定大小txt文档,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07

最新评论