删除字符串中两个字符(括号)之间的文本

Posted

技术标签:

【中文标题】删除字符串中两个字符(括号)之间的文本【英文标题】:Remove text between two characters (parenthesis) in a string 【发布时间】:2015-08-11 21:45:50 【问题描述】:

我正在处理一个项目,我想删除字符串中两个括号之间的文本。 示例:

std::string str = "I want to remove (this)."

我该怎么做呢? 我搜索了 google 和 *** 并没有找到任何东西。

【问题讨论】:

一种方法的一部分:cplusplus.com/reference/string/string/erase,cplusplus.com/reference/string/string/find 嵌套括号、多括号……怎么样?基本上这是一个简单的搜索。 您可以使用std::regex,但这可能取决于您的实际用例。 【参考方案1】:

我会为此使用正则表达式。查看我提供的链接。至于表达式使用下面的表达式

(\()(?:[^\)\\]*(?:\\.)?)*\)

那个人为我工作。

Conditionally replace regex matches in string

不要混淆正则表达式和常用表达式。这不像:-):-O>:( 等更常见的表达方式虽然有效这些表达方式是互斥的表达方式,没有多少语言可以理解,但更常用。

【讨论】:

如果值如下:std::string str = "I want to remove (this (one))."结果我想“我想删除”

以上是关于删除字符串中两个字符(括号)之间的文本的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript / regex:删除字符串中括号之间的文本[重复]

删除括号之间的字符串 [iOS]

删除括号之间的字符

目标 C:在括号之间拆分文本

C# Regex - 如何从字符串中删除多个成对的括号

php用正则表达式怎么获得两个字符串之间字符