C++ string 的 trim 函数
来源:互联网 发布:50岁知天命是什么年 编辑:程序博客网 时间:2024/05/18 19:18
参考:
http://stackoverflow.com/questions/216823/whats-the-best-way-to-trim-stdstring
http://www.cppblog.com/cc/archive/2007/08/09/29667.html
代码如下:
#include <cctype>#include <iostream>#include <algorithm>using namespace std;inline string& ltrim(string &str) { string::iterator p = find_if(str.begin(), str.end(), not1(ptr_fun<int, int>(isspace))); str.erase(str.begin(), p); return str;}inline string& rtrim(string &str) { string::reverse_iterator p = find_if(str.rbegin(), str.rend(), not1(ptr_fun<int , int>(isspace))); str.erase(p.base(), str.end()); return str;}inline string& trim(string &str) { ltrim(rtrim(str)); return str;}int main(){ string str = "\t\r\n ACB%&*KU234 \r\n"; string str1 = str; string str2 = str; cout << "str: ~" << str << "~" << endl << endl; cout << "ltrim(str): ~" << ltrim(str1) << "~" << endl; cout << "rtrim(ltrim(str)): ~" << rtrim(str1) << "~" << endl << endl; cout << "rtrim(str): ~" << rtrim(str2) << "~" << endl; cout << "ltrim(rtrim(str)): ~" << ltrim(str2) << "~" << endl << endl; cout << "trim(str): ~" << trim(str) << "~" << endl; return 0;}
str: ~ ACB%&*KU234~ltrim(str): ~ACB%&*KU234~rtrim(ltrim(str)): ~ACB%&*KU234~rtrim(str): ~ ACB%&*KU234~ltrim(rtrim(str)): ~ACB%&*KU234~trim(str): ~ACB%&*KU234~
注意:
代码第8行、第14行的 ptr_fun<int, int>(isspace),如果写成 ptr_fun(isspace),编译时会报错:no matching function for call to ‘ptr_fun(<unresolved overloaded function type>)’
- C的Trim()函数
- C Tips: std::string / std::wstring 的 Trim 函数
- C++ string 的 trim 函数
- C-Runtime library的string trim函数(学无止境:C函数参考手册需要补课,汗!)
- 为JavaScript的String增加Trim函数
- 为JavaScript的String增加Trim函数
- installshield STRING类型的trim函数实现
- java中string.trim()函数的使用
- C++中string的trim实现函数
- Java String.trim () 函数的使用
- C++实现string的trim函数
- java中string.trim()函数的使用
- java中string.trim()函数的使用
- java.lang.String.trim()函数的使用
- java中string.trim()函数的使用
- java中string.trim()函数的使用
- Trim string for C
- C语言写的trim()函数
- 推荐个AJAX的好站
- java.io.CharConversionException: isHexDigit
- ruby中类变量,实例变量,属性区别(之前一直弄混淆了,转载一篇感觉还可以的)
- YAHOO推出的PHP开发中心
- PHP 开发工具
- C++ string 的 trim 函数
- Java中的String数据类型归纳
- Ant 学习笔记 (一)
- 如何写性能测试用例
- sql server 2005中新增加的try catch学习
- MySQL-mysqldump backup script
- mysql4,mysql4.1,mysql 5共存
- zend 推出zend framework preview版本
- 如何删除taskmer.exe进程灰鸽子木马