有没有一种方法可以使用字符串变量替换re.split中的分隔符?

时间:2018-08-26 07:21:17

标签: python string split

为了使代码更具可读性,我想使用一个名为delimiters的字符串变量替换

中的' @\n\t,.;()'
re.split(r'[ @\n\t,.;()]', line)

我尝试使用repr,例如:

delimiter = ' @\n\t,.;()'
words = re.split(repr(delimiter), line)

但是它没有按我预期的那样工作。有谁知道如何使之成为可能?

1 个答案:

答案 0 :(得分:0)

很简单:

delimiters = r' @\n\t,.;()'
words = re.split(r'[%s]' % delimiters, line)

正则表达式只是一个字符串,您可以通过内插和串联来构造它。请注意,尽管r位于分隔符字符串之前,但没有分隔符将包含换行符和制表符,而不是文字\n\t