精华内容
下载资源
问答
  • C++ 去掉字符串首尾空格

    千次阅读 2012-10-25 20:19:01
    void strim(string &str) { str.erase(str.find_last_of(' ') + 1, string::npos); //去掉字符串末尾空格 str.erase(0, str.find_first_of(' ')); //去掉字符串空格 }
    void strim(string &str)
    {
    str.erase(str.find_last_of(' ') + 1, string::npos);    //去掉字符串末尾空格
    str.erase(0, str.find_first_of(' '));    //去掉字符串首空格
    }

    展开全文
  • C/C++ 去掉字符串首尾空格函数

    千次阅读 2012-04-20 10:41:15
    C/C++ 去掉字符串首尾空格函数 //去掉字符串首(左)空格函数 char* ltrim_lc(char* s) { char* s_s=new char[strlen(s)+1]; strcpy(s_s,s); char* s_rev=strrev(s_s); s_rev=rtrim_lc(s_rev); char* d_s=strrev...

    C/C++ 去掉字符串首尾空格函数

    //去掉字符串首(左)空格函数
    char* ltrim_lc(char* s)
    {
        char* s_s=new char[strlen(s)+1];
    	strcpy(s_s,s);
    	char* s_rev=strrev(s_s);
        s_rev=rtrim_lc(s_rev);
    	char* d_s=strrev(s_rev);
    	return d_s;
    }
    //去掉字符串尾(右)空格函数
    char* rtrim_lc(char* s)
    {
    	char* s_s=new char[strlen(s)+1];
    	strcpy(s_s,s);
    	//
        int s_len=strlen(s_s);
    	for(int i=s_len-1;i>=0;i--)
    	{
             if(s_s[i]==' ')
    		 {
    			 s_s[i]='\0';
    		 }
    	}
    	char* d_s=new char[strlen(s_s)];
    	strcpy(d_s,s_s);
    	return d_s;	
    }
    //去掉字符串首尾空格函数
    char* trim_lc(char* s)
    {
        return ltrim_lc(rtrim_lc(s));
    }

    用法:

    char* fdval="sfdf   ";

    char* t_val=trim_lc(fdval);  //去掉空格

    ---the--end---

    ---vp:hsg

    ---create date:2012-04-20--

    展开全文
  • 去掉字符串首尾空格 本关任务:文本匹配的时候经常会因为空格个数的不同而匹配失败,现在要求你编写程序对输入的字符串进行处理,去掉首尾的空格。 例如:输入的字符串是“ abcd ”,去掉首尾空格后字符串变为“abcd...

    去掉字符串首尾空格

    本关任务:文本匹配的时候经常会因为空格个数的不同而匹配失败,现在要求你编写程序对输入的字符串进行处理,去掉首尾的空格。

    例如:输入的字符串是“ abcd ”,去掉首尾空格后字符串变为“abcd”

    编程要求

    在右侧编辑器中的Begin-End之间补充代码,以实现去掉字符串(字符串由平台提供,且已在主函数中获取)首尾空格的功能。具体要求如下:

    对于输入的字符串,去掉该字符串首尾的空格后输出;
    
    字符串的存储使用一维字符数组,但本关要求使用指针操作。写完程序后,你也会发现使用指针实现会容易得多。
    

    测试说明

    平台会对你编写的代码进行测试,比对你输出的数值与实际正确数值,只有所有数据全部计算正确才能通过测试:

    为了方便显示空格,下面给出的测试输入使用下划线 ‘_’ 表示空格。
    

    测试输入:_____asd
    预期输出:asd

    测试输入:_a_b_c_d
    预期输出:a_b_c_d

    #include <iostream>
    using namespace std;
    
    
    char* trim(char* str);//声明函数
    
    int main()
    {
        char s[1024];     // 定义存储字符串的一维字符数组
        // 输入一行字符,可以包含空格
        // 输入的字符串存入s中,最多读取个字符,后面自动加上'\0'
        cin.getline(s, 1024);
        cout << trim(s) << endl;     // 输出去掉首尾空格后的字符串
        return 0;
    }
    
    // 函数trim:去掉字符串首尾空格
    // 参数:str-字符指针,指向输入的字符串
    // 返回值:字符指针,指向去掉首尾空格后的字符串(首地址)
    // 提示:可以直接在字符串str中操作
    char* trim(char* str)
    {
        //这里是指针在跑
        char* point = str;//组成新的指针
        while (*point != '\0')//让指针往后跑,跑到最后一个空字符的位置停下来
        {
            point++;//结束时指针跑到最后一元素哪里了
        }
        point--;//后退一位,以除去最后一位的那个空字符
        while (point >= str && *point == ' ')//往回跑以除去尾部的空格字符,没有空格了就停下来
        {
            *point = '\0';
            point--;
        }//此时除去了尾部的空格字符
        point = str;//重新定义point回到第一位从头部开始除去空格字符
        while (*point == ' ')
        {
            point++;//结束时的位置即为新的数组首
        }
        return point;
    }
    

    这里我提一下,可能同学们和我一样会对空字符和空格字符是不是等价的产生疑问,以下是两者的区别
    1.空字符是*’\0’*而空格字符是 ’ ’ ,两者是不一样的
    2.根据ASCII,空字符对应的值是0,而空格字符对应的值是32,两者是不一样的

    希望我的代码对给位有所帮助

    展开全文
  • 1 /* 2 *去掉字符串首尾的 \x20 \r \n 字符 3 */ 4 void TrimSpace(char* str) 5 { 6 char *start = str - 1; 7 char *end = str; 8 char *p = str; 9 while(*p) 10 { 11 ...
     1 /*
     2 *去掉字符串首尾的 \x20 \r \n 字符
     3 */
     4 void TrimSpace(char* str)
     5 {
     6   char *start = str - 1;
     7     char *end = str;
     8     char *p = str;
     9     while(*p)
    10     {
    11         switch(*p)
    12         {
    13         case ' ':
    14         case '\r':
    15         case '\n':
    16             {
    17                 if(start + 1==p)
    18                     start = p;
    19             }
    20             break;
    21         default:
    22             break;
    23         }
    24         ++p;
    25     }
    26     //现在来到了字符串的尾部 反向向前
    27     --p;
    28     ++start;
    29     if(*start == 0)
    30     {
    31         //已经到字符串的末尾了
    32         *str = 0 ;
    33         return;
    34     }
    35     end = p + 1;
    36     while(p > start)
    37     {
    38         switch(*p)
    39         {
    40         case ' ':
    41         case '\r':
    42         case '\n':
    43             {
    44                 if(end - 1 == p)
    45                     end = p;
    46             }
    47             break;
    48         default:
    49             break;
    50         }
    51         --p;
    52     }
    53     memmove(str,start,end-start);
    54     *(str + (int)end - (int)start) = 0;
    55 }

    转载:https://www.oschina.net/code/snippet_196111_15959

     

    2.过滤掉CString字符串中的换行和回车符号

    CString str("abc\r\nsfsdfasfd");
    str.Replace("\r", "");

    str.Replace("\n", "");

    转载于:https://www.cnblogs.com/chechen/p/6023403.html

    展开全文
  • C++标准库提供的字符串类string没有提供类似CString中Trim方法,该方法功能为去除字符串前后的空白字符。利用string自身一些方法可以很容易实现该功能。 如下: void Trim(string & str) { string blanks("\...
  • c++去掉首尾空格是参考一篇文章的,但是忘记文章出处了,就略过吧。 去掉首尾空格的代码如下: 1 void trim(string &s) 2 { 3 4 if( !s.empty() ) 5 { 6 s.erase(0,s.find_first_not_of(" "))...
  • #include <iostream> #include <string> using namespace std;...//去掉收尾空格 string& ClearHeadTailSpace(string &str) { if (str.empty()) { return str; } ...
  • C++去除字符串首尾和串中多余空格

    千次阅读 2016-08-20 09:23:52
    去除字符串首尾空格,以及字符串中多余空格,如:s = “ Hello word ! ”处理后变为:result = “Hello world!” 二、思路描述 先去掉字符串的首尾空格,然后去除串中多余空格(词与词之间保留一个空格)。 三、...
  • c++去掉首尾空格是参考一篇文章的,但是忘记文章出处了,就略过吧。 去掉首尾空格的代码如下: 1 void trim(string &amp;s) 2 { 3 4 if( !s.empty() ) 5 { 6 s.erase(0,s.find...
  • 这在字符串处理是很常用的功能,.NET Framework的String class直接提供Trim()的method,其它语言也大都有提供(VB、VFP),但C++无论Standard Library或STL都找不到相对应方法,以下的方式是由希冀blog中的C++中如何...
  • 自己实现的C++Trim()

    2011-01-06 16:02:00
    功能:去掉字符串首尾的填充字符(可以去除半角空格和全角空格) void stringprocess::TrimString(string &str,const string val){str.erase(0,str.find_first_not_of(val));//去掉字符串前面的空白符int pos=...
  • trim函数split函数 ...trim( )的作用:去掉字符串首尾空格。 可以借助 string类中的find_first_not_of( )、find_last_not_of( )函数进行构造 string trim(const string& str) { string::size_type pos =.
  • C++ template

    2015-08-10 19:33:35
    在解析protobuffer时,要先把字符串unescape,然后去掉首尾空格,再用proto的接口去解析,把这一系列操作封装成一个函数。之前,不同的proto我封装成了不同的函数,很多都是可以复用的操作,所以用template 函数...
  • 在一对[]中先输出读入的字符串,再在下一行的一对[]中输出去掉首尾空格后的字符串。 输入样例: 湖北 襄阳 输出样例: [ 湖北 襄阳 ] [湖北 襄阳] ``` #include #include #include char str_1...
  • LeetCode上目前只提供Java、C++、Python,我都采用Java. ...1. 反转后的字符串首尾空格去掉; 2. 单词与单词之间若有多个空格,反转后只能保留一个空格。 下面是AC代码: 1 /** 2 * Given an input stri...

空空如也

空空如也

1 2
收藏数 23
精华内容 9
关键字:

c++去掉字符串首尾空格

c++ 订阅