字符串替换

xiaoxiao2021-02-28  150

算法描述:函数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'; }

转载请注明原文地址: https://www.6miu.com/read-40149.html

最新回复(0)