去除字符串中单词的多余空格

题目很水,我想代码应该就是最好的注释,实现如下:

/*************************************************************************
    > File Name: trim_space.c
    > Author: KrisChou
    > Mail:[email protected]
    > Created Time: Sun 24 Aug 2014 10:03:33 AM CST
 ************************************************************************/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 128

static int my_isspace(char c)
{
    if(c == ‘ ‘ || c == ‘\n‘ || c == ‘\t‘ || c == ‘\v‘)
        return 1;
    else
        return 0;
}

static void trim_space(char *line)
{
    int pre, work_index;
    pre = -1;
    work_index = 0;
    while(line[work_index] != ‘\0‘)
    {
        if(!my_isspace(line[work_index]))
        {
            line[++pre] = line[work_index++];
        }else if(pre != -1 && !my_isspace(line[pre]))
        {
            line[++pre] = line[work_index++];
        }else
        {
            work_index++;
        }
    }
    line[++pre] = ‘\0‘;
}

int main(int argc, char *argv[])
{
    char line[N];
    memset(line,0,N);
    while(fflush(stdin),gets(line)!= NULL)
    {
        trim_space(line);
        puts(line);
    }
    return 0;
}

/* 关于输入输出的问题此处再强调一次,gets不会存储‘\n’,并将最后一个‘\n’换成‘\0’存储。
 * puts会将‘\0’变成‘\n’输出。
 * gets是一个不安全函数,会输出直至遇到‘\0’为止。
 * fgets会存储‘\n’,fputs输出时不会将‘\0’变成‘\n’                                    */
时间: 2024-11-14 22:00:43

去除字符串中单词的多余空格的相关文章

Python中去除字符串中空格的方法

Python中去除字符串中指定字符或者空格的方法有几种: str.strip() //该方法用于去除字符串开头和结尾的指定字符或字符串(默认为空格或换行符) str.lstrip() //该方法用于截掉字符串左边的空格或指定字符 str.rstrip() //该方法用于截掉字符串右边的空格或指定字符 所以若是要去除字符串中所有的空格可以使用如下方式: str.strip().lstrip.rstrip() 原文地址:https://www.cnblogs.com/EdenChanIy/p/993

去除字符串中的空格

用C语言写一个函数,去除字符串中的空格,并返回删除的空格的个数.不允许开辟新的空间,只能申请简单类型的自动变量.时间复杂度要求为O(n). #include <bitset> #include<iostream> int deleteSpace(char * pstr); void main() { char word[]="dhkak df d fd fdjfkda dfd ff f fd da "; deleteSpace(word); std::cout&

用较小的代价去除字符串中的空格

题目: 用C语言写一个函数,去除字符串中的空格,并返回删除的空格的个数.不允许开辟新的空间,只能申请简单类型的自动变量.时间复杂度要求为O(n). 比如:char str[]="dhkak   df d fd     fdjfkda     dfd   ff f  fd da "; 处理之后: str[]="dhkakdfdfdfdjfkdadfdffffdda"; 返回删除空格的个数为:12算法思想: 先取字符串的长度,然后用前后各一个指针,分别为p,q,使前面一

Java 去除字符串中的空格和其他字符

直接上代码了. <span style="font-size:18px;">import java.util.regex.Matcher; import java.util.regex.Pattern; /** * java 去除字符串中的空格和其他字符 * @author YYBJ * @date 2014-10-19 */ public class CleanString { public static String replaceBlank(String str) {

java 去html标签,去除字符串中的空格,回车,换行符,制表符

public static String getonerow(String allLine,String myfind)     {                           Pattern pattern = Pattern.compile("<div class=\"row\">.*?</div>");                      Matcher  matcher = pattern.matcher(allLine

去除字符串中空格

去除字符串前后的空格 function trim(str) {return str.replace(/(^\s+)|(\s+$)/g, "");} 去除字符串中所有空格 function removeAllSpace(str) {return str.replace(/\s+/g, "");} 用法举例:alert(trim(' ab cd ')); //结果: ab cdalert(removeAllSpace(' ab cd ')); //结果: abcd

Linux shell去除字符串中所有空格

Linux shell去除字符串中所有空格 echo $VAR | sed 's/ //g' 原文地址:https://www.cnblogs.com/yjd_hycf_space/p/9839494.html

Python关于去除字符串中空格的方法

Python关于去除字符串中空格的方法 在编写程序时我们经常会遇到需要将字符串中的空格去掉的情况,通常我们可以使用下面几种解决方法: 1.strip()方法:该方法只能把字符串头和尾的空格去掉,但是不能将字符串中间的空格去掉. s=' This is a demo ' print(s.strip()) lstrip():该方法只能把字符串最左边的空格去掉. s=' ! This is a demo ' l='!' print(s.lstrip()+l) rstrip():该方法只能把字符串最右边

leetcode——Reverse Words in a String 旋转字符串中单词顺序(AC)

题目如下: Given an input string, reverse the string word by word. For example, Given s = "the sky is blue", return "blue is sky the". click to show clarification. Clarification: What constitutes a word? A sequence of non-space characters c