【问题标题】:Remove characters from HTML string only if they appear after specific pattern仅当出现在特定模式之后的字符才从 HTML 字符串中删除
【发布时间】:2019-01-13 07:22:41
【问题描述】:

所以,我尝试用谷歌搜索我的问题,但找不到满意的答案。我编写了一个用于解析 HTML 电子邮件的程序。直到现在它都可以正常工作,但我猜 Outlook 协议中已经更新了一些东西。但是,现在,在提取电子邮件的 HTML 内容时,除了 style 标记外,一切正常。

style 标记之后的所有内容由于某种原因自动转义。例如像这样:<span style=\'color:red; background:yellow; mso-highlight:yellow\'><span style=\'background:yellow;mso-highlight:yellow\'> 注意样式 ' 标记是如何因某种原因被转义的?这导致我的软件出现问题,并使其崩溃。我真的不需要这些转义标记并想摆脱它们。

所以现在我的问题是,如何仅删除这些特定位置的标记(如果可能)?所以只在style= 之后以及样式属性的末尾,就在'> 之前。非常感谢所有帮助,我完全不知道如何进行。我真的不想删除所有的反斜杠,所以没有任何真正需要转义的东西不会被转义。

提前致谢!

【问题讨论】:

    标签: python string email mime


    【解决方案1】:

    一个简单的正则表达式应该可以工作:

    import re
    
    text = re.sub(r"style=\'(.*)\'", r"style='\1'", raw_text)
    

    【讨论】:

    • 完美,正是我想要的!太感谢了!我的正则表达式技能真的很生疏
    猜你喜欢
    • 2020-05-21
    • 1970-01-01
    • 1970-01-01
    • 2020-12-06
    • 2017-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多