C++去除字符串首尾和串中多余空格

来源:互联网 发布:java string正则表达式 编辑:程序博客网 时间:2024/06/05 19:49

一、问题描述

去除字符串首尾空格,以及字符串中多余空格,如:s = “    Hello        word !    ”处理后变为:result = “Hello world!”

二、思路描述

先去掉字符串的首尾空格,然后去除串中多余空格(如果有多于1个空格,词与词之间保留最后一个空格)。

三、代码

string & trim(string s){if(s.empty()){return s;}s.erase(0,find_first_not_of(" "));s.erase(find_last_not_of(" ") + 1);return s;}string remove_surplus_spaces(const string& s){    string src = trim(s);string result = "";    for(int i = 0; src[i] != '\0'; i++){        if(src[i] != ' ' ){            result.append(1,src[i]);}else{            if(src[i+1] != ' ')                result.append(1,src[i]);}    }    return result;}


0 0
原创粉丝点击