Python 字符串 partition() 方法

Python partition() 语法

partition() 是 Python 字符串的一个方法,它会根据指定的分割符来对字符串进行分割,然后返回一个包含 3 个元素的元组。

语法:

str.partition(sep)

说明:

partition() 方法接收单个参数。

  • sep(必选):指定分割符。

如果字符串包含指定分割符,则会返回一个包含 3 个元素的元组:第 1 个元素是左边的子串,第 2 个元素是分割符,第 3 个元素是右边的子串。

(左子串 , 分割符 , 右子串)

注意:

  • 如果字符串中包含多个分割符,则 partition() 只会在第 1 个分割符处进行分割。
  • 如果分割符未找到,则返回:( 原字符串 , '', '')
  • 分割符可以是 “多字符字符串”,但不能为 “空字符串”(会引发 ValueError 异常)。

Python partition() 摘要

使用频率
修改原字符串
官方文档 查看
相关方法 rpartition()split()

Python partition() 示例

接下来,我们通过几个简单的例子来讲解 Python partition() 方法是如何使用的。

示例 1:partition() 基本用法

s = 'Python*Java'
result = s.partition('*')
print(result)

运行结果如下。

('Python', '*', 'Java')

分析:

对于 s.partition('') 来说,'' 是分割符。partition() 会以此将原字符串拆开,最终返回一个包含 3 个元素的元组:左边是 'Python',中间是分割符本身 '*',右边是 'Java'。

示例 2:字符串包含多个分割符

s = 'Python*Java*Go'
result = s.partition('*')
print(result)

运行结果如下。

('Python', '*', 'Java*Go')

分析:

如果字符串中包含多个分割符,则 partition() 方法只会在第 1 个分割符处进行分割。

示例 3:字符串不包含分割符

s = 'PythonJavaGo'
result = s.partition('*')
print(result)

运行结果如下。

('PythonJavaGo', '', '')

分析:

如果字符串不包含指定的分割符,partition() 会将整个原字符串作为元组的第 1 个元素返回,而元组的剩下 2 个元素则都是空字符串 ''。

示例 4:分割符在开头或结尾

s1 = '*PythonJava'
s2 = 'PythonJava*'

print(s1.partition('*'))
print(s2.partition('*'))

运行结果如下。

('', '*', 'PythonJava')
('PythonJava', '*', '')

分析:

如果分割符在开头时,左子串为空字符串。如果分割符在末尾时,右子串为空字符串。

上一篇: rsplit()

下一篇: rpartition()

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号