C语言经典例题100例——C语言练习实例32解答(在字符串中删除指定字母或字符串)

作者(出处):百宝箱工作室发布时间:2017年7月31日 09:56:09查阅量:194

题目:删除一个字符串中的指定字母,如:字符串 "aca",删除其中的 a 字母。

程序分析:无。

程序源代码:

// 百宝箱工作室  官方网址 http://www.baibaox.com
// 百宝箱工作室业务介绍 http://www.baibaox.com/BusinessIntroduction.html

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
// 删除字符串中指定字母函数
char* deleteCharacters(char * str, char * charSet)
{
    int i;
    int hash [256];
    int currentIndex = 0;
    if(NULL == charSet)
        return str;
    for(i = 0; i < 256; i++)
        hash[i] = 0;
    for(i = 0; i < strlen(charSet); i++)
        hash[charSet[i]] = 1;
    
    for(i = 0; i < strlen(str); i++)
    {
        if(!hash[str[i]])
            str[currentIndex++] = str[i];
    }
    str[currentIndex] = '\0';
    return str;
}
main()
{
    char s[20] = " ";     // 要删除的字母,这里删除空格
    char s2[50] = "Object Oriented Programming.";  // 目标字符串
    printf("%s\n", deleteCharacters(s2, s));
}

以上实例运行结果如下:

ObjectOrientedProgramming.
百宝箱网络工作室  版权所有  
站长QQ:1617818397  站长E-mail:1617818397@qq.com
Powered by www.baibaox.com  Copyright © 2011-2017
点击这里给我发消息