简单易用的Python split()函数 – 从字符串中分割字符串
Python中的split()函数是一个非常有用的函数,它可以将一个字符串分割成多个子字符串,这样可以便捷地操作字符串中的内容。split()函数使用的是分隔符,也就是指定一个特定的字符或者字符串作为分割符,当字符串中出现这个分割符时,split()函数就会将其分割成多个按照分隔符分割的子字符串,并将其返回为一个列表。
split()函数的语法如下:
string.split(separator, maxsplit)
其中,separator参数指定分隔符,如果不指定默认为空格;maxsplit参数表示分割次数,可以省略,如果指定,最多分割maxsplit次。
下面我们来通过几个示例来介绍split()函数的使用方法。
1. 以空格分割字符串
首先,我们来看一下如何使用split()函数以空格为分隔符分割字符串。
s = "hello world" words = s.split() print(words)
运行这段代码,输出结果为:
['hello', 'world']
这里我们没有输入分隔符,程序默认使用空格作为分隔符,将字符串分割成两个子字符串并返回一个列表。
2. 以特定字符分割字符串
接下来,我们来看一下如何使用split()函数以特定字符作为分隔符分割字符串。
s = "apple,banana,orange"
fruits = s.split(",")
print(fruits)
这里我们以逗号为分隔符将字符串分割成多个子字符串,并返回一个列表。输出结果为:
['apple', 'banana', 'orange']
3. 使用maxsplit参数指定最大分割次数
在上面的示例中,我们使用的是默认的分割次数,即将整个字符串都分割成多个子字符串。但是,我们也可以使用maxsplit参数指定最大分割次数,来控制分割的结果。
s = "The quick brown fox jumps over the lazy dog"
words = s.split(" ", 2)
print(words)
这里我们使用空格作为分隔符,并且指定最大分割次数为2,将字符串分割成3部分,并返回一个列表。输出结果为:
['The', 'quick', 'brown fox jumps over the lazy dog']
这里我们只分割了前两个空格,超过最大分割次数的部分被忽略了。
4. 处理空字符串
在处理字符串时,我们可能会遇到包含有空字符串的情况。如果字符串中有连续的分隔符,split()函数会将其处理成空字符串。
s = "apple,,orange,,banana"
fruits = s.split(",")
print(fruits)
这里我们以逗号为分隔符将字符串分割成多个子字符串,并返回一个列表。输出结果为:
['apple', '', 'orange', '', 'banana']
可以看到,结果中有两个空字符串出现。
为了避免出现空字符串,我们可以在split()函数中的分隔符参数中指定剔除分隔符后的空字符,以达到正确结果的目的。
s = "apple,,orange,,banana"
fruits = [f for f in s.split(",") if f]
print(fruits)
这里我们在返回的列表中使用了列表推导式,创建了一个包含非空字符串的列表。输出结果为:
['apple', 'orange', 'banana']
在使用split()函数时,需要注意的是字符串中的分隔符决定了split()函数分割结果的数量和内容,使用maxsplit参数可控制最大分割次数。并且,当字符串中包含连续的分隔符时,split()函数会将其处理成空字符串。
