您的位置:首页 > 其它

去掉string里面的所有空格

2012-05-24 14:51 246 查看
在读取配置文件的每行内容的时候,需要去掉字符串中的空格或则tab键,

在C里实现它还是比较容易,但要是用string类来存储每行字符串的时候,

可能就不会象C那样容易处理字符串的每个字符。

为了处理方便,利用递归来去掉string的所有空格字符:

string& trim(string &str, string::size_type pos = 0)

{

static const string delim = " \t"; //删除空格或者tab字符

pos = str.find_first_of(delim, pos);

if (pos == string::npos)

return str;

return trim(str.erase(pos, 1));

}

因为配置文件里每行的内容不会很多,使用递归来讲可能也不会

对整体程序有明显的降低。

如果只是去除两端的空格字符则比较简单一些,网络到处都有它相关的例子:

string trimEnd(string &str)

{

const string &delim =" \t" ;

string r=str.erase(str.find_last_not_of(delim)+1);

return r.erase(0,r.find_first_not_of(delim));

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: