c++ - 我们可以同时从 C++ 字符串中删除两个子字符串吗?

标签 c++ string boost

假设我有一个 C++ 字符串 /dev/class/xyz1/device/vendor/config。作为我工作的一部分,我需要从上面的字符串中删除子字符串 "device""config"

我知道我可以通过使用 "erase" 调用两次来完成它。但是,我想知道这是否可以在一次调用中实现。任何字符串类库调用或 boost 调用来实现这一点?

最佳答案

除了正则表达式,我不知道任何其他方法。

但是想想你为什么要这样做。仅仅因为它是单个调用不会使其“快很多”,因为代码仍然需要以一种或另一种方式执行。

另一方面,每个单词都有一个命令会增加代码的可读性,这始终应该是高优先级的。

如果您经常需要这个并且想节省行数,您可以轻松地自己编写这样一个函数,并将其放入您的自定义实用程序函数库中。该函数可以采用输入字符串和用于字符串的 std::vector 或任何其他形式的字符串集合,以从先前的字符串中删除。

关于c++ - 我们可以同时从 C++ 字符串中删除两个子字符串吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29620562/

相关文章:

c++ - 如何处理来自 MFC 应用程序中动态创建的控件的消息?

C编程 "weird output"

java - 从字符串 S 的每个位置提取整数

C++ 更改字符串函数中的小写字母(再次......)

c++ - boost 格式在 C++ 中如何工作?

c++ - 如何让 clang 不替换 #define 宏

c++ - 警告 : 'auto' type specifier is a C++11 extension [-Wc++11-extensions]

c++ - 如何在 C++ 中抽象惰性初始化?

c++ - 在 OSX 10.7.2 上使用 boost 1.48 boost 日志

c++ - 为什么这些 shared_ptr 不指向同一个容器?