这是我尝试做的一个例子:
使用c ++中的宏从HELLOrs
中提取字符串HELLO_EXTRArs
同样,来自HIDUDE
HI_EXTRADUDE
所以,基本上我想用宏删除字符串_EXTRA
。
这可能吗?
答案 0 :(得分:3)
我相信这就是你要找的东西:
std::string yourString = "something with _EXTRA";
std::string strToRemove = "_EXTRA";
size_t a = yourString.find(strToRemove);
if (a < yourString.length()) //if strToRemove is found in yourString
yourString.erase(a, strToRemove.length());
答案 1 :(得分:-3)
这将为你完成这项工作,
#define removestr "_EXTRA"
使用以下代码替换,
string.replace(string.find(removestr),sizeof(removestr)-1,"");
其中string是“HI_EXTRADUDE”或包含“_EXTRA”的任何字符串值