删除字符串空格

字符串常量不可更改

#include <iostream>
#include <cstdlib>
#include <cstring>
using namespace std;

void deleteStr(char * str)
{

   int nSpaceNum = 0;
   char *p = str;
   char *q = str;
   char *s = str;
   while(*s != ‘\0‘)
   {
       if(*s == ‘ ‘)
       {
           nSpaceNum++;
           q++;
       }
       else
       {
          *p = *q;
          *q = ‘ ‘;
          p++;
          q++;
       }
       s++;
   }
   cout<<"nSpaceNum=="<<nSpaceNum<<endl;
   cout<<"str=="<<str<<endl;
}
int main()
{
   char* str = " hell o w orl d";
   char *dest = (char*)malloc(sizeof(char)*strlen(str));
   char *d = dest;
   while(*str != ‘\0‘)
    *d++ = *str++;

   deleteStr(dest);

   return 0;
}
时间: 2024-10-07 13:48:34

删除字符串空格的相关文章

删除字符串空格 C语言实现

今天上午遇到了个面试模拟题,不是很难,经常能看到这样相同或相似的题,但是突然想不到很好的办法,晚上整理下思路,写了下来 #include<stdio.h> #include<string.h> #include<stdlib.h> //删除字符串首部和尾部的空格,中间的有超过一个的空格的话就换成一个空格 //例子:"  hsf g   dfgg ","hsf g dfgg" //"   ","&quo

程序设计-----字符串中删除连续空格,只保留一个空格 数中删除连续相同的数,只保留一个数

一.问题描述 输入一个字符串,注意是可以带空格的,我们所要做的是如果字符之间有很多个连续的空格,我们只需要保留一个空格,并输出显示. 有一个类似的问题,是将一个数中连续相同的数删除掉,只保留其中一个数,如3456667,转化为34567.这个问题与字符串的问题大体上是一致的, 只是字符串限定了只有连续的空格需要处理,连续的其他字符是可以接受的,如abbbc是满足条件的,而a    bbb     ccc则要转换为a bbb ccc. 二.问题分析 在书写程序的过程中,首先的思路是以空间换取时间,

删除字符串中多余的空格

作者 : 卿笃军 今天遇到的一道笔试题,后来百度 了一下,原来是一道新浪的面试题. 题目大意是这样:给你一个任意字符串,要求你删除字符串中多余的空格. 示例:('_'表示空格) 1)"12__abc_98_"     ==> "12_abc_98" 2)"______65_21__54__3_89___"  ==>  "65_21_54_3_89" 思路:设2个下标i,pos一个用于遍历字符串(i),另外一个用于指

删除字符串首位空格

//删除首尾空格 var pattern = /^\s+/; //强制首 var str = ' goo gle '; var result = str.replace(pattern, ''); pattern = /\s+$/; //强制尾 result = result.replace(pattern, ''); alert('|' + result + '|'); 类似于$.trim(str)方法

算法分析---删除字符串中出现次数最少的字符

编写一个函数,删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除.输出删除这些单词后的字符串.字符串中其他字符保持原来的顺序. 格式说明: 字符串仅仅包括字母.不可能为空串,不包括空格,单词仅仅由小写英文字母组成.输入的字符串长度不会超过20个char . 算法思路: (1)定义一个长度为26的整型数组 下标从0-25分别表示a-z这26个小写字母,用来保存字符串中各个字符出现的次数 (由于'a'-'a'=0,'z'-'a'=25刚好与数组的下标相应) "abcdddeeffffx

js去除字符串空格(空白符)

 1. replace正则匹配方法 去除字符串内所有的空格:str = str.replace(/\s*/g,""); 去除字符串内两头的空格:str = str.replace(/^\s*|\s*$/g,""); 去除字符串内左侧的空格:str = str.replace(/^\s*/,""); 去除字符串内右侧的空格:str = str.replace(/(\s*$)/g,""); 2 .str.trim()方法 trim

删除字符串头部的空白字符

#include <stdio.h> #include <string.h> //删除字符串头部的空白字符. int main() { char code[]=" hello World"; // int len=sizeof(code); char buf[16]; int count=0; int i=0; for(i=0;i<len;i++) { if(code[i]==' ') { continue; } else { for(int j=i;j&

linux删除指定行&amp;删除行首空格&amp;替换字符

打印并删除2~1000行 nl /etc/passwd | sed '2,1000d' |more 删除行首空格 sed 's/^[][ ]*//g' file 替换分隔符 说明:文件中数据是由一个或者制表位(多个空格)分隔开的,将这些空格替换为特定字符. 解决方法:sed -e 's/[ ][ ]*/,/g' filename 或者:sed -e 's/[[:space:]][[:space:]]*/ /g' filename 这样将空格或者制表位替换为“逗号”了.

字符串-02. 删除字符串中的子串(20)

输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2. 输入格式: 输入在2行中分别给出不超过80个字符长度的.以回车结束的2个非空字符串,对应S1和S2. 输出格式: 在一行中输出删除字符串S1中出现的所有子串S2后的结果字符串. 输入样例: Tomcat is a male ccatat cat 输出样例: Tom is a male import java.util.Scanner; public class Main { public static