从字符串中删除指定子串或指定元素

来源:互联网 发布:js mouseover 提示 编辑:程序博客网 时间:2024/05/21 11:33

一)从字符串中删除指定子串

转载地址:

http://hi.baidu.com/fangm/item/85b8db57b926ed948d12ed44

#include <iostream>void delsub(char *str, char *sub){char *psrc = str, *pdest = str, *psub, *p;if((str == NULL) || (sub == NULL))return;while(*psrc){p       = psrc;psub   = sub;while(*p && *p == *psub){p++;psub++;}if(*psub == 0)//找到一个子串psrc = p;else*pdest++ = *psrc++;}*pdest = 0;}int main(){char str[] = "askdaskaskaaaaadaskg";char sub[] = "ask";cout<<"first str = "<<str<<endl;cout<<"sub      str = "<<sub<<endl;delsub(str,sub);cout<<"after del = "<<str<<endl;return 0;}


 

二)删除指定元素

 

#include<iostream>using namespace std;#include <stdio.h>int main(void){char uu[20], *p, *sub = "ask", *str = "askdaskaskaaaaadaskg", *str2;int n = 0, i = 0;p = sub;str2 = str;while (*str2){while (*p){if (*p == *str2)break;p++;}if (*p == '\0'){uu[i] = *str2;i++;}str2++;p = sub;}uu[i] = 0;str = uu;printf("\n %s", str);return 0;}