python re.split函数

  • Post category:Python

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参数,以达到我们所需要的效果。