【问题标题】:Using variable for re.sub [closed]为 re.sub 使用变量 [关闭]
【发布时间】:2013-08-23 03:07:33
【问题描述】:
filename = Baked Beans And Spam.txt

我可以理解正则表达式如何使用字符串:

f = self.filename
v = self.AdvanceReplace.GetValue()  # from a TextCtrl box
s = re.sub(r'\sAnd\s',' & ',f)    
prints Baked Beans & Spam

但假设我想将第一个参数用作变量,例如v

s = re.sub(v,' & ',f)

打印Baked Beans And spam。如何强制 re.sub 接受它作为变量?

【问题讨论】:

  • 什么意思? v 不是字符串吗?
  • 你可能想要s = re.sub(r'\sAnd\s',v,f)
  • no v 是我将在我的 TextCtrl 框中输入的内容。我正在为 v 使用正则表达式
  • 如果 v 是一个字符串,它应该可以正常工作,除了它不会是原始的。在您的测试代码中,当您打印v 时会得到什么。您的filename 定义周围可能还有引号?
  • 当我使用表达式 r'\sAnd\s',v,f 我得到同样的回报。 v = r'\s和\s',v,f

标签: regex


【解决方案1】:

我了解到正则表达式只是字符。如果省略引号,则 TextCtrl 将进行表达式。示例:\sAnd\s 不是 r'\sAnd\s'

【讨论】:

    猜你喜欢
    • 2020-06-08
    • 2019-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多