STL 中的 std::string大小写转换 lowercase、uppercase、Trim、replace、split
来源:互联网 发布:斯芬克 知乎 编辑:程序博客网 时间:2024/06/06 10:47
#define ADD_VECTOR_END(v,i) (v).push_back((i))string lowerCase(string value) {return changeCase(value, true);}string upperCase(string value) {return changeCase(value, false);}void lTrim(string &value) {string::size_type i = 0;for (i = 0; i < value.length(); i++) {if (value[i] != ' ' &&value[i] != '\t' &&value[i] != '\n' &&value[i] != '\r')break;}value = value.substr(i);}void rTrim(string &value) {int32_t i = 0;for (i = (int32_t) value.length() - 1; i >= 0; i--) {if (value[i] != ' ' &&value[i] != '\t' &&value[i] != '\n' &&value[i] != '\r')break;}value = value.substr(0, i + 1);}void trim(string &value) {lTrim(value);rTrim(value);}string changeCase(string &value, bool lowerCase) {int32_t len = value.length();string newvalue(value);for (string::size_type i = 0, l = newvalue.length(); i < l; ++i)newvalue[i] = lowerCase ? tolower(newvalue[i]) : toupper(newvalue[i]);return newvalue;}void replace(string &target, string search, string replacement) {if (search == replacement)return;if (search == "")return;string::size_type i = string::npos;string::size_type lastPos = 0;while ((i = target.find(search, lastPos)) != string::npos) {target.replace(i, search.length(), replacement);lastPos = i + replacement.length();}}void split(string str, string separator, vector<string> &result) {result.clear();string::size_type position = str.find(separator);string::size_type lastPosition = 0;uint32_t separatorLength = separator.length();while (position != str.npos) {ADD_VECTOR_END(result, str.substr(lastPosition, position - lastPosition));lastPosition = position + separatorLength;position = str.find(separator, lastPosition);}ADD_VECTOR_END(result, str.substr(lastPosition, string::npos));}
0 0
- STL 中的 std::string大小写转换 lowercase、uppercase、Trim、replace、split
- angular-过滤器uppercase/lowercase字母大小写转换
- C++ 使用STL string 实现的split,trim,replace-修订
- stl string 的 trim split replace tolower toupper
- C++ 使用STL string 实现的split,trim,replace
- C++ 使用STL string 实现的split,trim,replace-修订
- C++ 使用STL string 实现的split,trim,replace-修订
- c++使用 STL string 实现split,trim和replace方法
- C++中STL对string进行trim,split,replace操作
- STl-replace_if() trim,split,replace
- C++中STL对string进行trim,split,replace操作 (2012-05-25 09:56:12)
- std::string 字符串大小写转换
- C++ STL string 大小写转换
- stl::string的大小写转换
- C++ string split trim
- std::string大小写转换及字符数字转换
- std::string replace详解
- stl的string的大小写转换函数
- iOS 开发之 菜单栏UITabBarController
- 删除表空间报错ORA-00604&ORA-02429解决过程
- Android View坐标getLeft, getRight, getTop, getBottom解惑
- android intent
- 播放视频VideoView和SurfaceView(它是父类)(查看api)(更高级的查看vitamio)
- STL 中的 std::string大小写转换 lowercase、uppercase、Trim、replace、split
- Android 多媒体应用:视频播放之VideoView与SurfaceView
- uva 815
- 【HEOI2014】【BZOJ3613】南园满地堆轻絮
- jquery处理html格式的数据
- android 获取系统时间
- nginx利用fastcgi_cache模块缓存
- Fiddler抓取HTTPs流量
- 图片水印实现