所以,就仔细写好,严格测试,然后记录下来,以后需要的时候再直接复制到项目中使用。代码使用效果图:
以下是C++的string截断两端的空格实现代码:
string trim(string str,char ch)
{
int s = str.find_first_not_of(ch);
int e = str.find_last_not_of(ch);
if (s==-1 && e==-1)return str;
if (s==-1)
{
//结尾空格
str = str.substr(0,e+1);
}
if (e==-1)
{
//开头空格
str = str.substr(s,str.length());
}
if (s!=-1 && e!=-1)
{
str = str.substr(s,e-s+1);
}
return str;
}
测试使用代码:
#include <iostream>
using namespace std;
string trim(string str,char ch)
{
int s = str.find_first_not_of(ch);
int e = str.find_last_not_of(ch);
if (s==-1 && e==-1)return str;
if (s==-1)
{
//结尾空格
str = str.substr(0,e+1);
}
if (e==-1)
{
//开头空格
str = str.substr(s,str.length());
}
if (s!=-1 && e!=-1)
{
str = str.substr(s,e-s+1);
}
return str;
}
void main()
{
string str=" 这是一个字符串[C++技术网www.cjjjs.com] ";
str = trim(str,' ');
cout<<str.c_str()<<"追加";
int i;
cin>>i;
}
trim函数说明:
1.第一个参数为被处理字符串,处理完后的字符串由返回值返回,被处理字符串本身不被改变。
2.第二个参数可以指定被去除的两端的字符,可以是任何字符,而不只是空白字符,在使用时自己填写。
3.函数可以对开头、结尾以及开头和结尾的字符进行截断。