下面是一个示例代码,使用正则表达式按多个分隔符拆分列,并保留分隔符:
import re
def split_column(text, separators):
pattern = '|'.join(map(re.escape, separators))
parts = re.split(f'({pattern})', text)
return [part for part in parts if part.strip()]
text = 'a,b;c-d,e'
separators = [',', ';', '-']
result = split_column(text, separators)
print(result) # 输出: ['a', ',', 'b', ';', 'c', '-', 'd', ',', 'e']
在上述示例中,我们定义了一个split_column
函数,它接受两个参数:text
为要拆分的文本,separators
为分隔符列表。函数使用re.split()
方法按照正则表达式模式拆分文本列,并将分隔符保留在结果列表中。最后,我们对结果进行了简单的过滤,以去除空白部分。
注意,在正则表达式模式中,我们使用了re.escape()
方法来转义分隔符,以确保正则表达式正确解析分隔符。