Python的re(正则表达式)模块是处理文本的强大工具。其中re.split()函数是re模块中的一个方法,可以利用指定的分隔符将字符串分割成多个子字符串。本文将为您介绍Python re.split()函数的完整攻略。
基本语法
re.split(pattern, string, maxsplit=0, flags=0)
- pattern: 正则表达式形式的分隔符。
- string: 要分割的输入字符串。
- maxsplit: 可选参数,分割次数。
- flags: 可选参数,设置正则表达式的匹配模式。
re.split()
方法返回一个分割后的字符串列表。 示例如下:
import re
s = "apple,banana,orange"
result = re.split(",", s)
print(result)
# ['apple', 'banana', 'orange']
在上面的例子中,我们将字符串s
使用,
作为分隔符把它分割成3个子字符串。由于没有指定maxsplit
参数的值,默认情况下s
将被完全分割。最终输出一个包含3个元素的列表。
当maxsplit
参数的值为正整数时,re.split()
方法只会按最多作maxsplit
次分割,即返回长度不大于maxsplit + 1
的列表。示例如下:
import re
s = "apple,banana,orange,pear,mango"
result = re.split(",", s, maxsplit=2)
print(result)
# ['apple', 'banana', 'orange,pear,mango']
在上面的例子中,我们将字符串s
使用,
作为分隔符把它分割成3个子字符串。由于maxsplit
被设置为2,re.split()
方法最多只会做2次分割。最终输出一个包含3个元素的列表。
使用正则表达式分隔
在大多数情况下,我们并不会使用单一的字符作为分隔符,而是会使用更为灵活的正则表达式。在这种情况下,我们需要使用re.split()
方法的正则表达式形式。 示例如下:
import re
s = "apple, banana; orange& pear.\n mango"
result = re.split(",|;|&|\n", s)
print(result)
# ['apple', ' banana', ' orange', ' pear', ' mango']
在上面的例子中,我们使用多个分隔符(英文逗号,英文分号,&号以及换行符)将字符串s
分割成5个子字符串。这里我们使用了|
来表示多个不同的分隔符,其中\n
需要使用转义符\
进行转义。最终输出一个包含5个元素的列表。
总结
re.split()方法可以方便地将字符串分割为多个子字符串,具有非常灵活的应用范围。在应用时我们需要注意正则表达式的使用,并合理设置maxsplit参数,以达到我们所需要的效果。