如何在 Python 中分割字符串

使用字符串时,常见的操作之一是使用给定的分隔符将字符串拆分为子字符串数组。

在本文中,我们将讨论如何在 Python 中拆分字符串。

.split() 方法

在 Python 中,字符串表示为不可变的 str 对象。字符串 str 类提供了一些字符串方法让你操作的字符串。

.split() 方法返回由分隔符分隔的子字符串列表。它采用以下语法:

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

分隔符可以是字符或字符序列,而不是正则表达式。

在下面的示例中,我们使用逗号 , 作为分隔符拆分字符串 s

s = 'Sansa,Tyrion,Jon'
s.split(',')

结果将是一个字符串列表:

['Sansa', 'Tyrion', 'Jon']

字符串文字通常用单引号括起来,但也可以使用双引号。

字符序列也可以用作分隔符:

s = 'Sansa::Tyrion::Jon'
s.split('::')
['Sansa', 'Tyrion', 'Jon']

参数 maxsplit 会限制字符串被分割后的最大的数量。如果未指定或 -1 ,则分割数量没有限制。

s = 'Sansa;Tyrion;Jon's.split(';', 1)

结果列表将包含最多 maxsplit+1 元素:

['Sansa', 'Tyrion;Jon']

如果 delim 未指定或者设置为 Null ,则将使用连续空格作为分隔符来拆分字符串。所有连续的空格都被视为单个分隔符。此外,如果字符串包含尾随和前导空格,则结果将没有空字符串。

为了更好地说明这一点,我们来看看下面的例子:

' Daenerys  Hodor Arya   Jaime Bran '.split()
['Daenerys', 'Hodor', 'Arya', 'Jaime', 'Bran']
' Daenerys  Hodor Arya   Jaime Bran '.split(' ')
['', 'Daenerys', '', 'Hodor', 'Arya', '', '', 'Jaime', 'Bran', '']

如果未使用分隔符,则返回列表不包含空字符串。如果分隔符设置为空格 ' ' ,则前导,尾随和连续的空格将导致结果包含空字符串。

结论

拆分字符串是最基本的操作之一。阅读本教程后,您应该很好地理解如何在 Python 中拆分字符串。