使用stl替换嵌套的子字符串
replace nested substring using the stl
如何(如果可能的话)转换这样的字符串
"class sfw::Smthing<class sfw::type<double>,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >"
至
"class sfw::Smthing<class sfw::type<...>,class std::basic_string<...> >"
在C++中使用最多stl?
我不会为你做所有的工作,但我会给你基本的想法。
使用for循环扫描字符串。跟踪你所处的模板参数级别。你可以通过在找到'<'
时向上计数,在找到'>'
时向下计数来做到这一点。
当您在第二级(即外部类型的模板参数的模板参数)或更深层次时,请替换该字符。将其替换为句点,或者,如果您放置了3个或更多连续的句点(需要另一个变量),则将其替换为由您知道不会出现在字符集中其他位置的字符,如'@'
。
一旦你完成了,你的字符串会像这样:
"class sfw::Smthing<class sfw::type<...@@@>,class std::basic_string<...@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@> >"
然后你所需要做的就是删除每个"@":
str.erase(std::remove(str.begin(), str.end(), '@'), str.end());
相关文章:
- 嵌套在类中时无法设置成员数据
- 无法访问嵌套类.类的使用无效
- 我正在使用嵌套的while循环来解析具有多行的文本文件,但由于某种原因,它只通过第一行,我不知道为什么
- 如何在C++中初始化嵌套类中的2个memeber
- 如何声明特征矩阵,然后通过嵌套循环初始化它
- 在C++中搜索嵌套多映射值
- 在C++中将矢量转换为嵌套地图
- C++嵌套if语句,基本货币交换
- 在nlohmann json中,如何将嵌套对象的数组转换为嵌套结构的向量
- 嵌套的匿名命名空间
- 了解嵌套循环打印星号图案
- 在 c++ 中访问嵌套字典unordered_map<字符串、void*>?
- 嵌套列表(字符串向量的向量)初始化失败
- 如何同时从嵌套映射中检索键字符串
- 检索嵌套在字符串中的每个括号的内容
- 类字符串和嵌套向量C
- 使用stl替换嵌套的子字符串
- 如何使用嵌套的getline()函数来获取字符串中的特殊字符和标点符号
- 将xml字符串嵌套到xml元素中的语法
- 解析jsoncpp中嵌套转义序列的带引号字符串