【问题标题】:Remove whitespace before [quote-tag and after [/quote]删除 [quote-tag] 之前和 [/quote] 之后的空格
【发布时间】:2014-09-08 20:42:43
【问题描述】:

我需要从字符串中删除空格/换行符,但只能在 [quote-tag 之前和 [/quote] 之后。其他空格/换行符应保持不变。

例子:

[quote=lorem]Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus ut aliquam elit, nec lobortis neque.[/quote]

Nunc ultrices, eros a fringilla varius, metus arcu rutrum libero, quis pulvinar sapien lorem et mauris. Nullam vitae nisi tristique, congue ipsum ut, lobortis augue.

Nam tempus justo hendrerit, feugiat ipsum eget, pellentesque eros. Fusce vel pretium felis, nec euismod nisl.








[quote=lipsum]Sed efficitur malesuada eleifend.[/quote]



Ut accumsan nulla sed lacus luctus, in venenatis diam tristique.

我希望它变成:

[quote=lorem]Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus ut aliquam elit, nec lobortis neque.[/quote]
Nunc ultrices, eros a fringilla varius, metus arcu rutrum libero, quis pulvinar sapien lorem et mauris. Nullam vitae nisi tristique, congue ipsum ut, lobortis augue.

Nam tempus justo hendrerit, feugiat ipsum eget, pellentesque eros. Fusce vel pretium felis, nec euismod nisl.
[quote=lipsum]Sed efficitur malesuada eleifend.[/quote]
Ut accumsan nulla sed lacus luctus, in venenatis diam tristique.

【问题讨论】:

    标签: python regex string newline


    【解决方案1】:

    我会通过在 2 轮中运行替换来简化它:

    第一轮:\n+\[quote 替换为[quote

    第二轮:quote\]\n+ 替换为quote\]

    希望对你有帮助:)

    你也可以加强制表符和空格的匹配,像这样:[\n\t\s]+

    例子:

    newString = re.sub(r'[\n\t\s]+\[quote', '[quote', quoteString, re.S)
    newString = re.sub(r'quote\][\n\t\s]+', 'quote]', newString, re.S)
    

    ..或者甚至只是将它们缠绕在一起

    【讨论】:

    • 谢谢。一个问题:如何在第一轮的replace中添加换行符?
    • 在 [quote 标记之前。像 \n[quote 但那不起作用?
    • re.sub(r'[\n\t\s]+\[quote', '\n[quote', quoteString, re.S) 应该可以正常工作。它不在你身边?
    • 奇怪,现在它确实起作用了。一定是做错了什么。再次感谢!
    猜你喜欢
    • 2019-11-14
    • 2017-02-03
    • 2015-08-13
    • 1970-01-01
    • 2014-06-22
    • 2013-04-01
    • 2020-01-05
    • 2014-11-11
    • 1970-01-01
    相关资源
    最近更新 更多