去除前导空白和后导空白
代码中经常会遇到需要去除字符串的前导空白字符和后导空白字符的情况
代码:
1 #include <iostream> 2 #include <string> 3 using namespace std; 4 5 // 去处头部或者尾部的空白 6 void trimStr(string &str) 7 { 8 int nHeadPos = 0; 9 int nTailPos = 0; 10 11 nHeadPos = str.find_first_not_of(' ', 0); 12 str.erase(0, nHeadPos); 13 nTailPos = str.find_last_not_of(' '); 14 str.erase(nTailPos + 1); 15 } 16 17 int main(int argc, char **argv) 18 { 19 string strTest = " hello "; 20 trimStr(strTest); 21 22 return 0; 23 }
代码很简单,使用了string::erase()函数和string::find_first_not_of()以及string::find_last_not_of()函数来实现。
这三种函数的用法可以参考:http://www.cplusplus.com/reference/string/string/