首页 > 代码库 > 字符串替换
字符串替换
字符串替换
写一个字符串替换函数,如母串"123123123123",把母串中的子串"123",替换为"12345",或者"12"。
思路:
利用库函数strstr(),定位子串。使用strcpy()进行替换。不断重复着定位和替换操作,直到定位到NULL为止。
示例代码:
#include <stdio.h> #include <stdlib.h> #include <string.h> /* 字符串替换 把字符串str中的子串s1,替换成s2 */ char *strReplace(char *str, char *s1, char *s2) { //在堆中申请一片空间 char *s = malloc(50); //清空 memset(s, 0, 50); //把str拷贝到s中 strcpy(s, str); char buf[50]; char *pStr = strstr(s, s1); while (pStr) { //保存后序内容 strcpy(buf, pStr+strlen(s1)); //s2替换s1 strcpy(pStr, s2); //移动pStr pStr += strlen(s2); //把后序内容补上 strcpy(pStr, buf); //寻找下一次替换的位置 pStr = strstr(pStr, s1); } str = s; return str; } void main() { //"123"->"12345" char *str = "123123123123"; printf("原字符串\n"); printf("%s\n", str); str = strReplace(str, "123", "12"); printf("替换后\n"); printf("%s\n", str); free(str); system("pause"); }运行
字符串替换
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。