首页 > 解决方案 > 有没有办法可以使用字符串变量来替换 re.split 中的分隔符?

问题描述

为了使我的代码更具可读性,我想使用一个称为delimiters替换' @\n\t,.;()'的字符串变量

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

我试过了repr,比如:

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

但它不像我预期的那样工作。有谁知道如何使它成为可能?

标签: pythonstringsplit

解决方案


这很简单:

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

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


推荐阅读