去除字串中的空白
1: namespace StringPlus
2: {
3: /// Remove space chars of left side.
4: std::string TrimLeft(const std::string& szParam, char symbol=' ')
5: {
6: if(szParam.size()==0)
7: return szParam;
8:
9: if(szParam[0]!=symbol)
10: return szParam;
11:
12: int _end = szParam.find_first_not_of(symbol);
13: if(_end==std::string::npos)
14: _end=szParam.size();
15:
16: std::string _szParam(szParam);
17: _szParam.erase(_szParam.begin(), _szParam.begin()+_end);
18: return _szParam;
19: }
20:
21: /// Remove space chars of right side.
22: std::string TrimRight(const std::string& szParam, char symbol=' ')
23: {
24: if(szParam.size()==0)
25: return szParam;
26:
27: if(szParam[szParam.size()-1]!=symbol)
28: return szParam;
29:
30: int _str = szParam.find_last_not_of(symbol);
31: if(_str==std::string::npos)
32: _str=-1;
33:
34: std::string _szParam(szParam);
35: _szParam.erase(_szParam.begin()+1+_str, _szParam.end());
36: return _szParam;
37: }
38:
39: /// Remove whole space chars.
40: std::string Trim(const std::string& szParam, char symbol=' ')
41: {
42: std::string _rc1 = TrimLeft(szParam, symbol);
43: std::string _rc2 = TrimRight(_rc1, symbol);
44: return _rc2;
45: }
46: }