如何将一个字符串切成另一个字符串

时间:2019-04-28 17:05:25

标签: c++ string

用户应输入类似字符串"[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;
    }

1 个答案:

答案 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上找到它。