python - 有没有办法可以使用字符串变量来替换 re.split 中的分隔符?
问题描述
为了使我的代码更具可读性,我想使用一个称为delimiters
替换' @\n\t,.;()'
的字符串变量
re.split(r'[ @\n\t,.;()]', line)
我试过了repr
,比如:
delimiter = ' @\n\t,.;()'
words = re.split(repr(delimiter), line)
但它不像我预期的那样工作。有谁知道如何使它成为可能?
解决方案
这很简单:
delimiters = r' @\n\t,.;()'
words = re.split(r'[%s]' % delimiters, line)
正则表达式只是一个字符串,您可以通过插值和连接来构造它。请注意,r
尽管在分隔符字符串之前,没有该分隔符将包含换行符和制表符而不是文字\n\t
。
推荐阅读
- python - 有没有办法使用 python imaplib 获取流中的大附件?
- r - 在 R 中使用 merge() 时如何避免出现更多数据行的问题?
- unity3d - 如何使 3d 对象在墙后可见,但如果在墙后和地下则不可见
- highcharts - 当有 10 个系列的 hightcharts 散点图时冻结
- ros - 在 Pepper 中运行 ROS
- python - 如何从 CSV 文件中删除最后一行
- ssl-certificate - 如何使用 PFX 文件避免网站安全证书错误
- c# - 机器人框架迁移 v3 到 v4
- c# - Delegate.DynamicInvoke 不能使用可选参数?
- laravel - 如何在 laravel 中与 union 分组