/* * NICE-Core - efficient algebra and computer vision methods * - libfbasics - library of some basic tools * See file License for license information. */ #include "core/basics/stringutils.h" #include <core/basics/types.h> namespace NICE { std::string itostr(int integer) { std::string s; if(integer<0) { integer=-integer; s="-"; } int k=integer; int div=1; while(k>9) { k/=10; div*=10; } while(div>0) { s += ((integer/div)%10+48); div/=10; } return s; } std::vector<std::string> splitString(const std::string &s, char separator) { std::vector<std::string> result; splitString(s, separator, result); return result; } void splitString(const std::string &s, char separator, std::vector<std::string>& result) { int lastpos=0; int pos=0; while(pos!=-1) { pos = s.find_first_of(separator,lastpos); result.push_back(s.substr(lastpos,pos-lastpos)); lastpos=pos+1; } } std::vector<std::vector<std::string> > splitStringVector( const std::vector<std::string> &inlist, char separator) { std::vector<std::vector<std::string> > outlist(inlist.size()); for(uint i=0;i<inlist.size();i++) { splitString(inlist[i], separator, outlist[i]); // int lastpos=0; // int pos=0; // while(pos!=-1) { // pos = inlist[i].find_first_of(separator,lastpos); // outlist[i].push_back(inlist[i].substr(lastpos,pos-lastpos)); // lastpos=pos+1; // } } return outlist; } std::string replaceChar(const std::string& s, char oldChar, char newChar) { std::string result(s); for (uint i = 0; i < s.size(); ++i) { if (result[i] == oldChar) { result[i] = newChar; } } return result; } } // namespace