字符串处理
-
字符串去分割符
void RemoveDelimiter(string& str) { array<char, 2> delimiterArray{',', ' '}; for (int i = 0; i < str.size(); ++i){ if (auto it = find(delimiterArray.begin(), delimiterArray.end(), str[i]); it != delimiterArray.end()){ str.erase(i, 1); i--; } } }
-
字符串分割
// str = "123+456=689" vector<string> SplitString(string& str) { array<char, 4> delimiterNums{'+', '-', '*', '/'}; vector<string> splitedString; for (int i = 0; i < str.size(); ++i){ if (auto it = find(delimiterNums.begin(), delimiterNums.end(), s[i]); it != str.end()){ char delimiter = s[i]; splitedString.push_back(str.substr(0, i)); splitedString.push_back(string{delimiter}); str.erase(0, i+1); i = -1; } } splitedString.push_back(str); }
-
字符串去两边空格
void Stripe(string& s) { for (int i = 0; i < s.size(); ++i){ if (s[i] != ' '){ s = s.substr(i); break; } } for (int i = s.size(); i >= 0; --i){ if (s[i] != ' '){ s = s.substr(0,i+1); break; } } }