除了

时间:2017-12-03 18:16:56

标签: python html regex python-3.x replace

是否有某种re.sub_unless功能?我似乎无法找到一个。

所以我试图在Python中使用正则表达式格式化标点符号(在HTML文档中)。在段落末尾的标点符号之前删除不需要的空格时,我一直遇到表情符号的问题。所以,例如

"text - </p>"

"text . ) </p>"

应呈现为

"text-</p>"

"text.)</p>",

"text :)</p>"

不应呈现给

"text:)</p>".

编写正则表达式以匹配

" [emoticon]</p>"

并不难,所以如果有一些re.sub_unless(pattern,unless_pattern,text)函数,那将非常适合我的需求。

1 个答案:

答案 0 :(得分:0)

虽然它不是re.sub_unless,但您可以执行以下操作,

import re
# text = "text :)</p>"
text = "text . ) </p>"
result = ""

emojis = [":)", ":("]

for emoji in emojis:
  if emoji in text:
    result = text
    break
  result = re.sub('\s*', "", text)


print(result)

如果您有多个表情符号,则可以执行以下操作,

{{1}}

不是最佳的代码,而是完成工作。