【问题标题】:Delete parentheses around a text删除文本周围的括号
【发布时间】:2020-08-18 04:41:58
【问题描述】:

我有一个包含文本的长文件,并且有一种特定类型的文本,长度为 24 个字符(可以是小写字母或数字),它以 " 开头和结尾,并且有括号。 其中一种行如下所示:

"something": ("qwertyuiopasdfghjklz1234"),

我想得到:

"something": "qwertyuiopasdfghjklz1234",

我想删除括号。我有以下正则表达式:([a-z0-9"]{26}),它找到了这个表达式,但我似乎没有找到一种方法来弄清楚要写什么来替换行以删除括号。

【问题讨论】:

  • 您想要^\(("[a-z0-9]{24}")\)$ 并替换为$1。见demo
  • 我认为正则表达式替换将适用于此。正则表达式具有附加参数,例如“标志”,具体取决于允许您启用“多行”并替换整个文件中的文本的编程语言。你能发布一段文件吗?
  • 导致找不到文本^(("[a-z0-9]{24}"))$
  • ("") 中似乎有 24 个字符。见^\(("[a-z0-9]{24}")\)$
  • 我根据您的链接演示更正了那个。虽然,这个没有发现发生。我检查了长度,它是 24 + 2"。

标签: regex replace notepad++


【解决方案1】:

您可以使用以下代码,为您的示例工作。
查找内容:\(|\)
替换为:nothing

【讨论】:

    【解决方案2】:

    你可以使用

    (:\h*)\(("[a-z0-9]{24}")\)(,)
    

    替换为$1$2$3,见regex demo

    详情

    • (:\h*) - 第 1 组 ($1):: 和 0 个或多个水平空格
    • \( - 一个 ( 字符
    • ("[a-z0-9]{24}") - 第 2 组 ($2):",24 个小写 ASCII 字母或数字,然后是 "
    • \) - 一个 ) 字符
    • (,) - 第 3 组 ($3):, 字符。

    【讨论】: