Spaghetti Source logo

std::string の基本操作

ソースコード

vector<string> splitAll(string s, string t) {
  vector<string> v;
  for (int p = 0; (p = s.find(t)) != s.npos; ) {
    v.push_back(s.substr(0, p));
    s = s.substr(p + t.size());
  }
  v.push_back(s);
  return v;
}
vector<string> split(string s, string t) {
  vector<string> v;
  int p = s.find(t);
  if (p != s.npos) {
    v.push_back(s.substr(0, p));
    s = s.substr(p + t.size());
  }
  v.push_back(s);
  return v;
}
string replaceAll(string s, string f, string t) {
  string r;
  for (int p = 0; (p = s.find(f)) != s.npos; ) {
    r += s.substr(0, p) + t;
    s = s.substr(p + f.size());
  }
  return r + s;
}
string replace(string s, string f, string t) {
  string r;
  int p = s.find(f);
  if (p != s.npos) {
    r += s.substr(0, p) + t;
    s = s.substr(p + f.size());
  }
  return r + s;
}

前原 貴憲(maehara@prefield.com).

Last Modified: 2007.12.02 23:13:12.