在Python中的标点符号上拆分字符串

使用 re.split() 方法在标点符号上拆分字符串,例如 my_list = re.split(‘[,.!?]’, my_str)。 re.split 方法在指定模式的所有出现处拆分字符串。

import re

my_str = """One, Two Three. Four! Five? I'm!"""

my_list = re.split('[,.!?]', my_str)

# ?️ ['One', ' Two Three', ' Four', ' Five', " I'm", '']
print(my_list)

在Python中的标点符号上拆分字符串

re.split() 方法接受一个模式和一个字符串,并在每次出现该模式时拆分字符串。

import re

my_str = """One, Two Three. Four! Five? I'm!"""

my_list = re.split('[ ,.!?]', my_str)

# ?️ ['One', '', 'Two', 'Three', '', 'Four', '', 'Five', '', "I'm", '']
print(my_list)

现在我们的正则表达式也匹配空格。 如果需要从列表中删除空字符串,请使用 filter() 函数。

import re

my_str = """One, Two Three. Four! Five? I'm!"""

my_list = list(filter(None, re.split('[ ,.!?]', my_str)))

# ?️ ['One', 'Two', 'Three', 'Four', 'Five', "I'm"]
print(my_list)

filter() 函数接受一个函数和一个可迭代对象作为参数,并从可迭代对象的元素构造一个迭代器,函数返回一个真值。

方括号 [] 用于表示一组字符。

我们可以在方括号之间添加任何其他标点符号,例如 一个冒号:,一个分号;,方括号或圆括号。

import re

my_str = """One, Two: Three;. Four! Five? I'm!"""

my_list = list(filter(None, re.split('[ :;,.!?]', my_str)))

# ?️ ['One', 'Two', 'Three', 'Four', 'Five', "I'm"]
print(my_list)