python re.split函数

  • Post category:Python

Python中,re.split是一个基于正则表达式的字符串分割函数,可以根据指定的正则表达式对给定字符串进行切割,并将切割后的结果保存到列表中,下面是使用re.split的完整攻略。

re.split函数的基本语法

re.split(pattern, string, maxsplit=0, flags=0)

re.split函数接收最少两个参数:一个正则表达式pattern和一个字符串string,用于将字符串string根据正则表达式pattern进行分割。

maxsplit可选参数是指定最大切割次数,默认值为0,表示不限制切割次数;flags可选参数为正则表达式的匹配模式,常用 re.IGNORECASE 从文本序列中跳过空格、忽略大小写等。

re.split函数的返回值

re.split函数返回一个新列表,其中包含了根据正则表达式切割后的字符串。

re.split函数的实例展示

下面是使用re.split函数的示例:

假设我们有一个字符串:

s = 'I have a dog, a cat, and a mouse.'

现在,我们要将字符串分割成单独的单词。我们可以使用re.split函数,将标点符号作为分隔符,返回一个仅包含单词的列表:

import re

s = 'I have a dog, a cat, and a mouse.'

words = re.split('[,.\s]', s)

print(words)

运行结果:

['I', 'have', 'a', 'dog', '', 'a', 'cat', '', 'and', 'a', 'mouse', '']

代码从字符串中创建了一个包含所有单词和标点符号的列表,然后使用正则表达式'[,.s]' 对列表进行切割,即在文件里查找给定字符,每匹配到一个字符就进行分割将结果加入到返回的words列表中。

下面是第二个示例代码:

import re

s = 'I have a dog, a cat, and a mouse.'

sentence = re.split('[,.]', s, 1)

print(sentence)

运行结果:

['I have a dog', ' a cat, and a mouse.']

代码中,正则表达式'[,.]'将字符串从第一个出现的逗号或句点处进行分割。

需要注意的是,在上述示例代码中,maxsplit参数被设置为了1, 因此在第一个逗号或句号处进行了切割,返回了被切断后的两部分。