删除字符串中两个字符(括号)之间的文本
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))."结果我想“我想删除”以上是关于删除字符串中两个字符(括号)之间的文本的主要内容,如果未能解决你的问题,请参考以下文章