1. 程式人生 > >刪除字串中的空格

刪除字串中的空格

1、刪除字串中所有的空格

char *DelBlankFromStr(char *str)
{
    if(str != NULL)
    {
        char *p = str;
        int i = 0;
        while(*p != ' ') {++p;}//刪除前面的空格

        while(*p!='\0')
        {
            if(*p != ' ')
            {
                str[i++] = *p;
            }
            ++p;
        }
        str
[i] = '\0'; } return str; }

2、去除一句英文句子中多餘的空格。例如輸入“I am a student.” 輸出”I am a student.”

//刪除首尾的空格,中間如果有重複的空格,刪除多餘的空格
char *delStrBlank(char *const str)
{
    if(str != NULL)
    {
        char *p = str;
        int i = 0;

        while(*p == ' ') {++p;}//刪除開始的空格

        while(*p != '\0')//刪除中間的空格
        {
            if
(*p != ' ')//不等於空格直接賦值給str { str[i++] = *p; } else//有空格 { while(*p == ' '){++p;}//有多個空格,p就往後走,直到把多餘的空格走完 str[i++] = ' ';//給str賦值一個空格 --p; } ++p; } str[i] = '\0'
; } return str; }