?? stringtrim.h
字號(hào):
/**
* @file StringTrim.h
* @brief 提供了跨平臺(tái)的去掉字符串首尾空格的方法
* @author Hao Liming Wang Jiantao
* @date 2008-11-6 12:38:32
* @Version 0.1
* <pre><b>copyright: CASCO</b></pre>
* <pre><b>email: </b>haoliming@casco.com.cn</pre>
* <pre><b>company: </b>http://www.casco.com.cn</pre>
* <pre><b>All rights reserved.</b></pre>
* <pre><b>modification:</b></pre>
* <pre></pre>
*/
#include <string>
#include <algorithm>
#include <functional>
#include <iostream>
namespace CASCO
{
/**
* @brief 去掉字符串首部的空格
*
* @param[in] convertString
* @return std::string&
*/
inline std::string& leftTrim(std::string& convertString)
{
std::string::iterator iter = std::find_if(convertString.begin(), convertString.end(), std::not1(std::ptr_fun(isspace)));
convertString.erase(convertString.begin(), iter);
return convertString;
}
/**
* @brief 去掉字符串尾部的空格
*
* @param[in] convertString
* @return std::string&
*/
inline std::string& rightTrim(std::string& convertString)
{
convertString.erase(iter.base(), convertString.end());
return convertString;
}
/**
* @brief 去掉字符串首尾的空格
*
* @param[in] convertString
* @return std::string&
*/
inline std::string& trim(std::string& convertString)
{
leftTrim(rightTrim(convertString));
return convertString;
}
/**
* @brief 去掉字符串中全部的空格
*
* @param[in] convertString
* @return std::string&
*/
inline std::string& entiTrim(std::string& convertString)
{
std::string::iterator beginIter = convertString.begin();
std::string::iterator endIter = convertString.end();
std::string::iterator iter = std::find_if(beginIter, endIter, std::ptr_fun(isspace));
while (iter!=endIter)
{
std::string::iterator iter2 = std::find_if(iter, endIter, std::not1(std::ptr_fun(isspace)));
convertString.erase(iter, iter2);
endIter = convertString.end();
iter = std::find_if(iter, endIter, std::ptr_fun(isspace));
}
return convertString;
}
/**
* @brief 去掉子串中全部的空格
* begin,end分別是子串的起始結(jié)束位置,包括端點(diǎn)
* @param[in] convertString
* @param[in] begin
* @param[in] end
* @return std::string&
*/
inline std::string& beginEndTrim(std::string& convertString,int begin,int end)
{
if (begin>end||0==convertString.length()||begin<0)
{
return convertString;
}
if (end>convertString.length()-1)
{
end = convertString.length()-1;
}
if (begin==end)
{
if (convertString.at(begin)==' ')
{
convertString.erase(begin,1);
}
}
std::string tempStr = convertString.substr(begin,end-begin+1);
convertString.erase(begin,end-begin+1);
entiTrim(tempStr);
convertString.insert(begin,tempStr);
return convertString;
}
/**
* @brief 去掉子串中全部的空格
* start 是子串的起始位置,strSize 是子串的大小
* @param[in] convertString
* @param[in] start
* @param[in] strSize
* @return std::string&
*/
inline std::string& startSizTrim(std::string& convertString,int start,int strSize)
{
if (start<0||strSize<1)
{
return convertString;
}
if (start>convertString.length()-1)
{
start = convertString.length()-1;
}
if (strSize==1)
{
if (convertString.at(start)==' ')
{
convertString.erase(start,1);
}
return convertString;
}
std::string tempStr = convertString.substr(start,strSize);
convertString.erase(start,strSize);
entiTrim(tempStr);
convertString.insert(start,tempStr);
return convertString;
}
};
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -