用户应输入类似字符串"[1 -2.5 3;4 5.25 6;7 8 9.12]"
,我想将其剪切为仅包含其中的数字,因此它看起来像这样
1 -2.5 3 4 5.25 6 7 8 9.12
好吧,我已经尝试过下面的代码,但是它似乎不起作用
string cutter(string s){
string cuttedstring="";
string fullstring="";
for(int i=0; i <= s.length(); i++ ){
if(s.at(i)!= "[" && s.at(i)!= "]" && s.at(i)!= ";"){
for(int j=i; j<15 ; j++ ){
do{
cuttedstring += s.at(j);
}
while(s.at(j)!= " ");
fullstring = cuttedstring + " " ;
cuttedstring = "";
}
}
}
return fullstring;
}
答案 0 :(得分:1)
您可以像这样使用字符串类的replace方法:
#include <algorithm>
#include <string>
int main() {
std::string s = "example string";
std::replace( s.begin(), s.end(), 'x', 'y');
}
但是如果要替换多个字符,可以使用此方法。
std::string ReplaceAll(std::string str, const std::string& from, const std::string& to) {
size_t start_pos = 0;
while((start_pos = str.find(from, start_pos)) != std::string::npos) {
str.replace(start_pos, from.length(), to);
start_pos += to.length(); // Handles case where 'to' is a substring of 'from'
}
return str;
}
如果在此page上找到它。