读书人

怎么从一个字符串中查找并删除一个字符

发布时间: 2012-10-14 14:55:07 作者: rapoo

如何从一个字符串中查找并删除一个字符?

C/C++ code
#include<stdio.h>#include<string.h>int main(void){    char str1[10];  //录入字符串    char str2[10];  //剔除某字符后的字符串    char str;  //待剔除字符    int i;    int len;    printf("请输入待删除字符:");    scanf("%c", &str);    printf("请输入一段字符串:");    scanf("%s", str1);    len = strlen(str1);    for(i = 0; i < len; i++)//找到待删除字符    {        if(str1[i] != str)            str2[i] = str1[i];        else        {            for(; i < len-1; i++)  //想要 Wood Zhang -> Wood hang 和 Wood Zhang -> Wood  hang( 用空格替换)            {                str2[i] = str1[i+1];            }        }        break;    }    printf("修改后的字符串为:%s", str2);    return 0;}


[解决办法]
仅供参考
C/C++ code
#include <stdio.h>#include <string.h>char s[256];char *p;int r,n,i;int main() {    while (1) {        printf("请输入一行文字(空行结束),\"%%20\"将替换为\" \",\"你懂得\"将替换为\"XXXXXX\":\n");        fgets(s,256,stdin);        if ('\n'==s[0]) break;        p=s;        while (1) {            p=strstr(p,"%20");            if (p) {                memmove(p+1,p+3,strlen(p)-3+1);                p[0]=' ';            } else break;        }        p=s;        while (1) {            p=strstr(p,"你懂得");            if (p) {                memmove(p+6,p+6,strlen(p)-6+1);                for (i=0;i<6;i++) p[i]='X';            } else break;        }        printf("%s",s);    }    return 0;}//请输入一行文字(空行结束),"%20"将替换为" ","你懂得"将替换为"XXXXXX"://abcdefg%20helloworld%20something.pdf//abcdefg helloworld something.pdf//请输入一行文字(空行结束),"%20"将替换为" ","你懂得"将替换为"XXXXXX"://这是测试文字你懂得,在这个你懂的地方,就得做你懂得的事//这是测试文字XXXXX,在这个你懂的地方,就得做XXXXX的事//请输入一行文字(空行结束),"%20"将替换为" ","你懂得"将替换为"XXXXXX":// 

读书人网 >C语言

热点推荐