字符串替换

来源:互联网 发布:匡恩网络 裁员 编辑:程序博客网 时间:2024/06/09 19:35

算法描述:函数replace()实现将old中所有出现sub处替换为rpl子串,其余不变,最终替换结果存入news中。例如,old为“uvwabuv uvuvwx uvxw”,sub为“uvw”,rpl为“abcd”,new的结果为“abcdabuv uvabcdx uvxw”。

算法实现:

void replace(char *old, char *sub, char *rpl, char *news){char *s1,*s2;while(*old != '\0'){for(s1 = old, s2 = sub; *s1 != '\0' && *s2 != '\0' && *s1 == *s2; s1++, s2++);if(*s2 != '\0')//其余不变*news++ = *old++;else{//替换for(s2 = rpl; *s2 != '\0'; s2++)*news++ = *s2;old = old + strlen(sub);}}*news = '\0';}


原创粉丝点击