刪除字串中的空格
阿新 • • 發佈:2019-02-19
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;
}