去掉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));
}
在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));
}
相关文章推荐
- 采用递归去掉string里面的所有空格
- 去掉所有字符里面的空格换行符等
- 去掉所有字符里面的空格换行符等
- ES索引瘦身 压缩——_source _all 均disable filed store为no,引入第三方DB存储原始数据,去掉pos倒排和doc_values,强制定期merge segments,将所有fileds合并为一个field big string
- String字符串去掉头尾的空格
- C++去掉字符串中首尾空格和所有空格
- js去掉html标签和去掉字符串文本的所有的空格
- java中如何去掉字符串数组里面空格
- C++中如何去掉std::string对象的首尾空格
- 去掉字符串前后所有空格的正则表达式
- 未经处理的异常:0xC0000005:读取/写入位置冲突——从去掉字符串所有空格说起
- js去掉html标签和去掉字符串文本的所有的空格
- 用“ ”替代string中所有的空格
- 去除Stirng中的空格 | List转为String | 正则去掉小数点后多余0 |获得uuid
- 去掉string里面的html标签
- 正则表达式去掉前后、左右、去掉所有的空格
- java如何把String字符串中所有的空格和制表符(\t)替换成单个符号。
- stringByReplacingOccurrencesOfString 去掉字符串,替换空格等等
- 把string 的开头和结尾的空格都去掉
- JS(去掉前后空格或去掉所有空格)的用法