Python split 字符串

此 Python 函数会拆分给定的字符串并返回一个单词列表,它接受两个(可选)参数。如果您指定分隔符,则拆分字符串函数将使用指定的分隔符来返回单词列表。

Python 字符串 split 函数从左侧开始查找分隔符。一旦找到分隔符,它就会将分隔符之前的文本分开,并将其添加到列表项中。该函数会重复此过程,直到到达末尾位置或最大位置。

Python split 字符串语法

字符串 split 函数的语法如下所示。

StrValue.split(Separator, Max)
  • 分隔符(可选参数):如果忘记此参数,它将使用空格作为分隔符。
  • Max(最大值):此参数是可选的。如果您指定此值,它将限制单词列表的长度。

Python split 字符串函数返回一个单词列表。例如,如果我们有 X*Y*Z,如果我们使用 * 作为分隔符,它会从左到右查找 *。一旦找到 *,它会将 * 之前的字符串作为列表项 1(X)返回,依此类推。

如果您向上面的 split 字符串示例添加 max 参数,X*Y*Z(‘*’,1),它会查找 *。一旦找到 *,它会将 * 之前的句子作为列表项 1(X)返回,并将剩余部分作为列表项 2 返回。

Python 字符串 split 示例

以下示例集将帮助您理解此 split 字符串函数。

text = 'Welcome to Tutorial Gateway'
 
sp = text.split()
 
print(sp)
['Welcome', 'to', 'Tutorial', 'Gateway']

注意:如果您将不存在的项目作为 方法 分隔符传递,则它会将整个句子作为 列表 项 1 返回。

Python 字符串按逗号分割

在此示例中,我们使用逗号后跟空格来分隔句子。在最后一个语句中,我们去除了多余的空格。这意味着它会按逗号分隔水果字符串。

Python String Split Example

按空格和字符分割字符串

我们使用空格来分割给定的文本。

text = 'Learn Pyth at Tutorial Gateway For Free'
 
st1 = text.split(" ")
print(st1)
['Learn', 'Pyth', 'at', 'Tutorial', 'Gateway', 'For', 'Free']

在这里,我们使用单个字符来分割句子。第一个语句分隔文本使用 A 字符。第二个语句使用 $ 符号代表水果。

fruits = 'Apple$Orange$Banana$Kiwi$Cherry$Mango$Berry'
fruits2 = fruits.split("$")
print(fruits2)
['Apple', 'Orange', 'Banana', 'Kiwi', 'Cherry', 'Mango', 'Berry']

Python 按空格和多个字符分割字符串

在这里,我们使用多个字符或子字符串来分割给定的文本。第一个语句使用 ABC 子字符串进行分割。

text = 'LearnABCPythABCatABCTutorialABCGatewayABCForABCFree'
 
st3 = text.split('ABC')
print(st3)
['Learn', 'Pyth', 'at', 'Tutorial', 'Gateway', 'For', 'Free']

['Apple', 'Orange', 'Banana', 'Kiwi', 'Cherry', 'Mango', 'Berry']

在此示例中,我们只为函数传递单个参数或不传递参数。下面的 Str4 语句根据我们指定的分隔符(即 ‘,’)分割 Str1 并打印输出。

在下面的 Python Str7 语句中,我们直接使用了此方法。下面的语句根据 ‘/’ 符号分隔文本并打印输出。

在最后一行,我们尝试在不使用任何参数的情况下调用该方法。

split string function Example 4

从输出中,您可以看到它根据空格来分割文本。因为这是该方法的默认参数。

多个分隔符

此示例向您展示了如何使用字符串 split 函数配合多个分隔符来分割任何句子。

text = 'Learn.,Py.,at.,Tutorial.,Gateway.,For.,Free'
 
st4 = text.split('.,')
print(st4)
 
fruits = 'Apple,,"Orange,,"Banana,,"Kiwi,,"Cherry,,"Mango@#$Berry'
fruits4 = fruits.split(',,"')
print(fruits4)
['Learn', 'Py', 'at', 'Tutorial', 'Gateway', 'For', 'Free']

['Apple', 'Orange', 'Banana', 'Kiwi', 'Cherry', 'Mango@#$Berry']

这是使用多个分隔符的另一个示例。但是,这次我们使用 For Loop 来迭代方法返回的每个列表项并将其作为输出打印。

text = 'Learn.,Py.,at.,Tutorial.,Gateway.,For.,Free'
 
st5 = text.split('.,')
print(st5)
 
for txt in st5:
    print(txt)
 

fruits = 'Apple,,"Orange,,"Banana,,"Kiwi,,"Cherry,,"Mango,,"Berry'
fruits5 = fruits.split(',,"')
print(fruits5)
 
for ft in fruits5:
    print(ft)
['Learn', 'Py', 'at', 'Tutorial', 'Gateway', 'For', 'Free']
Learn
Py
at
Tutorial
Gateway
For
Free

['Apple', 'Orange', 'Banana', 'Kiwi', 'Cherry', 'Mango', 'Berry']
Apple
Orange
Banana
Kiwi
Cherry
Mango
Berry

高级 Python 字符串 split 示例

以下示例集将帮助您了解高级分割选项。在这里,我们只为函数传递两个参数或不传递参数。

对于 Str4,它根据我们指定的分隔符(即 ‘,’)分割 Str1 并打印输出。这里,第二个参数将函数限制为只分割一个单词。

对于 Str5,它根据我们指定的分隔符(即 ‘,’)分割 Str1 并打印输出。这里,第二个参数将结果限制为只有三个单词。

Split String Example 5

这次,我们通过空格分割文本 5 次。接下来,我们为水果使用了逗号和空格,这会分割两次。

txt = 'Hi This is Suresh Posting Py articles'
 
str6 = txt.split(" ", 5)
print(st6)
print()
 
fruits = 'Apple, Orange, Banana, Kiwi, Cherry, Mango, Berry'
fruits6 = fruits.split(", ", 2)
print(fruits6)
['Hi', 'This', 'is', 'Suresh', 'Posting', 'Py articles']

['Apple', 'Orange', 'Banana, Kiwi, Cherry, Mango, Berry']

空文本

在处理空数据时,了解此 Python split 字符串函数的功能。例如,如果我们将其与以下空格一起使用,输出将是

  • ‘ ‘ = []
  • ‘ ‘ = []
  • ‘ ‘ = []
  • ‘ ‘.split(‘ ‘, 1) 返回 [”, ‘ ‘]

到目前为止,我们一直在打印函数返回的列表。在这里,我们将分割后的值赋给变量。要做到这一点,您必须提供用逗号分隔的变量。

fruits = 'Apple,Orange,Banana,Kiwi,Cherry,Mango,Berry'
a,b,c,d,e,f,g = fruits.split(',')
print(a)
print(b)
print(c)
print(d)
print(e)
print(f)
print(g)
Apple
Orange
Banana
Kiwi
Cherry
Mango
Berry

分解成字符

您可以使用上述指定的技术来分配和返回给定句子中的字符。让我在此 split 字符串示例中向您展示。

s1 = 'ELearn'
print(s1)
print()
 
a, b, c, d, e, f = s1
 
print(a)
print(b)
print(c)
print(d)
print(e)
print(f)
ELearn

E
L
e
a
r
n

在这里,我们将给定的时间进行分割,并将这些值赋给小时、分钟和秒。

time = '23:50:59'
print(time)
 
hour,minute,second = time.split(':')
print('Hours   = ', hour)
print('Minutes = ', minute)
print('Seconds = ', second)
23:50:59
Hours   =  23
Minutes =  50
Seconds =  59

Python 将字符串分割成字符列表

您可以使用 列表方法 将给定的文本转换为字符列表。在这里,您无需使用此函数。

text = 'Happy'
print(text)
print(list(text))
print()
 
st = 'Hello World'
print(st)
print(list(st))
Happy
['H', 'a', 'p', 'p', 'y']

Hello World
['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']

在这里,我们定义了一个新的 函数,它使用 for loop 来迭代每个字符并打印。

def strToLi(words):
    return [ch for ch in words]
 
sa = 'Pyth'
print(sa)
print(strToLi(sa))
print()
 
st = 'Tutorial Gateway'
print(st)
print(strToLi(st))
Pyth
['P', 'y', 't', 'h']

Tutorial Gateway
['T', 'u', 't', 'o', 'r', 'i', 'a', 'l', ' ', 'G', 'a', 't', 'e', 'w', 'a', 'y']