【问题标题】:How to delete tags that are between square brackets in Python [closed]如何删除Python中方括号之间的标签[关闭]
【发布时间】:2021-07-11 05:01:50
【问题描述】:

我有一个字符串:

my_string = "[some tag1][tag 2] Some text"

如何在 Python 3 中从字符串中删除标签?

【问题讨论】:

  • 你试过什么? re 模块和 re.sub 可以解决这个问题。

标签: python python-3.x string parsing


【解决方案1】:

您可以使用正则表达式:

import re

my_string =  " [The Tag before the text works] The text [The Tag after the text does not work]"

result = re.sub(r'\s*\[.+?\]\s*', '', my_string)

lstrip() 将去除标签和文本之间的空白。

【讨论】:

  • 它有效,但有问题。但我也有“[文本前的标签起作用]文本[文本后的标签不起作用]”的行。如果标签在文本之后,则文本为空。
  • 这是一个贪婪的量词..它将匹配最后一个 ] 并且仅由于回溯。考虑创建一个否定字符类或使用不情愿的量词。
  • 感谢您的反馈,我将量词改为非贪婪。我还删除了括号前后的所有空格。
猜你喜欢
  • 2021-01-08
  • 2020-08-21
  • 2022-11-15
  • 1970-01-01
  • 2014-11-19
  • 2016-05-11
  • 1970-01-01
  • 2023-03-16
  • 1970-01-01
相关资源
最近更新 更多