@@ -144,21 +144,21 @@ size_t utils::string::count(std::string const& str, char countC) {
144
144
return res;
145
145
}
146
146
147
-
147
+ constexpr char WHITESPACE[] = " \f\n\r\t\v " ;
148
148
std::string& utils::string::trimLeftIP (std::string& str, std::string const & chars) {
149
149
str.erase (0 , str.find_first_not_of (chars));
150
150
return str;
151
151
}
152
152
std::string& utils::string::trimLeftIP (std::string& str) {
153
- return utils::string::trimLeftIP (str, " \f\n\r\t\v " );
153
+ return utils::string::trimLeftIP (str, WHITESPACE );
154
154
}
155
155
156
156
std::string& utils::string::trimRightIP (std::string& str, std::string const & chars) {
157
157
str.erase (str.find_last_not_of (chars) + 1 );
158
158
return str;
159
159
}
160
160
std::string& utils::string::trimRightIP (std::string& str) {
161
- return utils::string::trimRightIP (str, " \f\n\r\t\v " );
161
+ return utils::string::trimRightIP (str, WHITESPACE );
162
162
}
163
163
164
164
std::string& utils::string::trimIP (std::string& str, std::string const & chars) {
@@ -169,30 +169,25 @@ std::string& utils::string::trimIP(std::string& str) {
169
169
}
170
170
171
171
std::string utils::string::trimLeft (std::string const & str, std::string const & chars) {
172
- auto s2 = str;
173
- return utils::string::trimLeftIP (s2, chars);
172
+ return str.substr (str.find_first_not_of (chars));
174
173
}
175
174
std::string utils::string::trimLeft (std::string const & str) {
176
- auto s2 = str;
177
- return utils::string::trimLeftIP (s2);
175
+ return utils::string::trimLeft (str, WHITESPACE);
178
176
}
179
177
180
178
std::string utils::string::trimRight (std::string const & str, std::string const & chars) {
181
- auto ret = str;
182
- return utils::string::trimRightIP (ret, chars);
179
+ return str.substr (0 , str.find_last_not_of (chars) + 1 );
183
180
}
184
181
std::string utils::string::trimRight (std::string const & str) {
185
- auto ret = str;
186
- return utils::string::trimRightIP (ret);
182
+ return utils::string::trimRight (str, WHITESPACE);
187
183
}
188
184
189
185
std::string utils::string::trim (std::string const & str, std::string const & chars) {
190
- auto ret = str;
191
- return utils::string::trimIP (ret, chars);
186
+ size_t start = str. find_first_not_of (chars) ;
187
+ return str. substr (start, str. find_last_not_of ( chars) + 1 - start );
192
188
}
193
189
std::string utils::string::trim (std::string const & str) {
194
- auto ret = str;
195
- return utils::string::trimIP (ret);
190
+ return utils::string::trim (str, WHITESPACE);
196
191
}
197
192
198
193
std::string& utils::string::normalizeIP (std::string& str) {
0 commit comments