精华内容
下载资源
问答
  • 3种删除字符串string中空格的方法 1、C风格 2、STL算法 3、ctype
  • C++删除字符串中所有空格

    千次阅读 2020-12-05 11:16:17
    C++删除字符串中所有空格 我百度了好多帖子,都是互相抄的,用的递归,递归不好理解,我就用的迭代器,遍历string,碰到空格删掉。这样很好理解。 #include <iostream> #include <string> #include ...

    C++删除字符串中所有空格

    我百度了好多帖子,都是互相抄的,用的递归,递归不好理解,我就用的迭代器,遍历string,碰到空格就删掉。这样很好理解。

    #include <iostream>
    
    #include <string>
    
    #include <ctype.h>
    
    using namespace std;
    
    int main()
    {
        string str_test;
        while (1) {
            /*下面两句清空缓冲区的*/
            cin.clear();
            cin.sync();
    
            getline(cin,str_test);
    
            for(auto iter = str_test.begin();iter != str_test.end();iter ++){
    
                if(isblank(*iter) != 0){  	 //isblank判断是否为制表符或者空格,是的话返回非零值 
               								 //需包含头文件<ctype.h>
    
                    str_test.erase(iter--); // --是因为重新判断一下填过来的字符
    
                }
    
            }
            cout << str_test << endl;
        }
    
        return 0;
    }
    
    

    有一点不好理解的就是这句:

    str_test.erase(iter--);
    

    这里迭代器为什么要减一呢?

    如果删掉此迭代器指向的空格,后面的字符会填到这个位置,你还要重新判断一下这个位置是不是空格,for循环最后iter要加一,所以这里要减一,才可以重新判断这个迭代器指向的字符。

    代码测试运行结果如下图所示
    程序测试运行结果

    展开全文
  • C++删除字符串所有空格或者首尾两端的空格代码实现-删除两端空格代码实现-删除所有空格 这是关于c++删除空格的两段代码。。。 代码实现-删除两端空格 // An highlighted block char *del_space(char s1[],int n)...

    C++删除字符串所有空格或者首尾两端的空格


    这是关于c++删除字符串空格的两段代码。。。

    代码实现-删除两端空格

    n是字符串长度。这里首先开始对字符串末尾的空格给删除,计算出最后一位的字符(非空格)所在的位置n。然后从字符串首位开始计数,删除字符串首端的空格,直到有非空格字符出现,开始修改字符串的值,直到 n结束,返回新的字符串。

    // An highlighted block
    char *del_space(char s1[],int n)
    {   
    	int i = 0;int k=0;    
    	char  *str = s1; 
    	while(s1[n-1]==' ') --n;    
    	for(i = 0;s1[i] !='\0';)   
    	{        
    		while(s1[i] ==' ')        
    		{            
    	 		i++;k++;                 
     		}      
     		do{          
        			*str++ = s1[i++];k++;               
    		  }while(k<n);        
         	*str='\0';      
                  
    	}   
         return s1;
    }

    代码实现-删除所有空格

    直接粗暴判断是否是空格,然后把所有的空格都忽略!

    // An highlighted block
    char *del_allspace(char s1[])
    {    
    	int i = 0;    
    	char  *str = s1;    
    	for(i = 0;s1[i] !='\0';i++)    
    		{        
    			if(s1[i] !=' ')        
    			{           
    			 	*str++ = s1[i];                   
     			 }        
      			else        
     			 {            
     				 while(s1[i] ==' ') i++;            
       				*str++ = s1[i];        
      			 }	    
       		}    
    	*str = '\0';    
     	return s1;
    }
    展开全文
  • #include<string> using namespace std;... if (index == string::npos) //检查下标是否到了字符串尾 { return; } s.erase(index, 1); } } 测试 int main(int argc, char** argv)
    #include<string>
    using namespace std;
    
    void trim(string& s)
    {
    	size_t index = 0;
    	while (true)
    	{
    		index = s.find(' ');
    		if (index == string::npos)	//检查下标是否到了字符串尾
    		{
    			return;
    		}
    		s.erase(index, 1);
    	}
    }
    
    

    测试

    int main(int argc, char** argv)
    {
    
    	string s = "123 456 78 9";
    	cout << "字符串: "<<s << endl;
    	
    	trim(s);
    	cout <<"删除空格后: "<< s << endl;
    
    	return 0;
    }
    
    

    输出
    在这里插入图片描述

    展开全文
  • 情况1.字符串去掉空格

    情况1.字符串去掉空格

    /*去除掉首尾的空格*/
    string ClearHeadTailSpace(string str) {
        if (str.empty()) {
            return str;
        }
        str.erase(0, str.find_first_not_of(" "));
        str.erase(str.find_last_not_of(" ") +1);
        return str;
    }
    
    /*去掉全部空格*/
    string ClearAllSpace(string str)) {
        int index = 0;
        if (!str.empty()) {
            //string::npos 表示查找没有匹配
            while((index = str.find(' ', index)) != string::npos) {
                str.erase(index, 1);
            }
        }
        return str;
    }
    

     

     

    展开全文
  • 字符串一直是一个重点加难点,很多笔试面试都会涉及,带空格字符串更是十分常见,现在对字符串的输入问题进行一下总结。 C++用cin输入的时候会忽略空格以后的字符,比如 char a[100]; cin>>a; C++用cin输入的...
  • C++删除字符串中的所有空格操作

    千次阅读 2020-04-22 14:58:10
    C++代码: #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<string.h> #include<string> #include<algorithm> using namespace std; string del_space(string *str) { str...
  • 题目描述:请实现一个函数,把字符串中的每个空格替换成“%20”。例如,输入“We are happy.”,则输出“We%20are%20happy.”。 看到这个题目的时候我们首先想到的是,从前向后遍历,每找到一个空格就把这个空格替换...
  • 输入一行字符串,将该字符串中所有空格删除,并将得到的新字符串输出。 例如: 输入:Hello,My name is yy.Nice to meet you! 输出:Hello,Mynameisyy.Nicetomeetyou! 源码: #include<iostream> using ...
  • //空格判断 //返回0:无空格,返回1:有空格 int IncludeSpace(char *str) { char c; while(1) ...if (c == ' ') //如果字符高位为1且下一字符高位也是1则有中文字符 return 1; } return 0; }
  • 删除字符串间的多余空格,这个用C简单实现,没那多描述啊
  • //去掉首尾空格 void trim(string &amp;s) { if( !s.empty() ) { s.erase(0,s.find_first_not_of(" ")); s.erase(s.find_last_not_of(" ") + 1); } } //去掉所有空格 void trim...
  • C++ 字符串空格

    千次阅读 2019-05-12 17:19:00
    给定一个字符串,在字符串的每个字符之间都加一个空格。 输出修改后的新字符串。 输入格式 共一行,包含一个字符串。 输出格式 输出增加空格后的字符串。 数据范围 1≤字符串长度≤1001≤字符串长度≤100 ...
  • 字符串去掉空格

    2018-05-15 09:17:50
    学习C++必经之路,入门级知识总结,笔记本知识概况,走一步再走一步
  • 函数: string trim(string& str) { str.erase(0, str.find_first_not_of(" ... // 去掉头部空格 str.erase(str.find_last_not_of(" \t") + 1); // 去掉尾部空格 return str; } 代码示例: #include<iost...
  • c++判断字符串内有空格

    千次阅读 2020-09-02 09:34:54
    isspace() 返回bool
  • 1.有空格字符串分开存放在数组 这个用代码去扫一遍字符串然后判断空格也很简单 但是还有更简单的方法 在c#有一个split的方法可以直接分开 在c++中我们可以用istringstream来实现 int main() { string a = ...
  • C++将一串带空格的数字字符串排序并统计重复元素输出
  • 输入带空格字符串 需要用到 getline(cin,str);具体在代码中看 2:上码 #include<bits/stdc++.h> using namespace std; int main(){ vector<string>v1; for( int i = 0; i < 2; i++ ) { ...
  • c++去除字符串空格

    千次阅读 2018-01-15 10:36:52
    参考1:https://www.cnblogs.com/Shirlies/p/4666744.html参考2(string函数用法):https://www.cnblogs.com/xFreedom/archive/2011/05/16/2048037.html参考3(输入带空格字符串):...
  • 之前遇到一个问题,要求把一行带空格和tab的字符串中空格和tab去掉,看了很多人的博客,但没看懂,然后自己又想了想,算是解决了,这个应该算比较简单的了 大概效果就是这样 那现在上代码吧, #include<...
  • 去除首尾空格: std::string& trim(std::string &s) { if (!s.empty()) { s.erase(0,s.find_first_not_of(" ")); s.erase(s.find_last_not_of(" ") + 1); } return s; } 去除所有空格: void trim...
  • C++去掉字符串首尾的空格

    千次阅读 2021-03-14 10:18:43
    在右侧编辑器的Begin-End之间补充代码,以实现去掉字符串字符串由平台提供,且已在主函数获取)首尾空格的功能。具体要求如下: 对于输入的字符串,去掉该字符串首尾的空格后输出; 字符串的存储使用一维字符...
  • C++去除字符串中多余的空格

    千次阅读 2018-10-13 13:53:12
    今天写了个小编程,去除字符串中多余的空格,例如"I___am_____a______student."(下划线表示空格哈,打多个空格显示的还是一个),最后输出”I am a student.” 现在把自己的思路贴上,欢迎大家留言指正。...
  • 检测到空格就直接将输入字符串截取空格之前的部分到新的一个答案字符串里面! #include<bits/stdc++.h> using namespace std; string m,n; int main() { string v,b; getline(cin,v); if(v.length()!=0) ...
  • C / C ++程序从字符串中删除空格

    千次阅读 2020-09-12 06:46:31
    For example given string is “the crazy programmer”. Now we have to remove all the spaces present in the ... 现在,我们必须删除字符串中存在的所有空格。 Before: the crazy programmerAfter: thecrazyp...
  • C++编辑处理字符串(统计字符个数 包括空格).rarC++编辑处理字符串(统计字符个数 包括空格).rarC++编辑处理字符串(统计字符个数 包括空格).rarC++编辑处理字符串(统计字符个数 包括空格).rarC++编辑处理字符...
  • 主要介绍了C++实现判断字符串是否回文,其中采用了数据结构栈以及过滤字符等技术,,需要的朋友可以参考下
  • class Solution { public: void replaceSpace(char *str,int length); }; void Solution::replaceSpace(char *str,int length) { int i = 0; while('\0' != *str) { if(' ' == *str) ... ...
  • 参见:https://zh.cppreference.com/w/cpp/algorithm/remove 使用 erase 和 remove 配合。 #include <algorithm> #include <string> #include <iostream> #include <...int ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 102,054
精华内容 40,821
关键字:

c++删除字符串中的空格

c++ 订阅