joh*_*ere 4 c++ regex string split c++11
我对这个论坛和C ++非常陌生。因此,请原谅我的疑问/问题。我想读一本std::string。我知道我可以使用at或[int]运算符访问元素。我有两个问题:
1)从字符串中删除或删除所有特殊字符(包括空格)
2)仅读取此字符串中的前4个字符或字母
对于1),我正在检查std::erase,std::remove_if但是我也需要消除所有我指的特殊字符和空格。这意味着我需要包括isspace()/ isalpha()等的所有条件。没有单一的方法可以一次全部删除吗?
对于2),我可以像访问数组一样访问字符串,我的意思是字符串[0],字符串[1],字符串[2],字符串[3]。但是我不能将其添加到单个字符串中吗?
请让我知道如何实现此目标?
要获取前四个字符:
std::string first4=str.substr(0, 4);
Run Code Online (Sandbox Code Playgroud)
要删除isspace和isalpha谓词(尽管我认为我误解了,在这里,您是说isspace而不是isalpha ??吗?):
str.erase(std::remove_if(str.begin(), str.end(),
[](char c) { return std::isspace(c) || std::isalpha(c); } ),
str.end());
Run Code Online (Sandbox Code Playgroud)
您可以使用添加到字符串op+=。例如:
str+="hello";
str+='c';
Run Code Online (Sandbox Code Playgroud)