博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
子串的替换
阅读量:5338 次
发布时间:2019-06-15

本文共 1669 字,大约阅读时间需要 5 分钟。

问题:使用C语言实现字符串中子字符串的替换

 

描述:编写一个字符串替换函数,如函数名为 StrReplace(char* strSrc, char* strFind, char* strReplace),strSrc为原字符串,strFind是待替换的字符串,strReplace为替换字符串。

 

举个直观的例子吧,如:“ABCDEFGHIJKLMNOPQRSTUVWXYZ”这个字符串,把其中的“RST”替换为“ggg”这个字符串,结果就变成了:

 

ABCDEFGHIJKLMNOPQgggUVWXYZ

——————————————————————————————————————————————————————————————————————————

View Code
1 #include 
2 using namespace std; 3 4 void StrReplace(char* strSrc, char* strFind, char* strReplace) 5 {
6 int srclen = strlen(strSrc); 7 int findlen = strlen(strFind); 8 if(srclen < findlen) return; 9 10 // 找寻子串的起始位置 11 int start = -1,end = -1; 12 int i =0,j=0,k=0; 13 for(i =0;i
replacelen) // 待替换子串的长度大于替换子串时 44 {
45 for(i=0;i
end) 61 {
62 strSrc[j + k] = strSrc[j]; 63 j--; 64 } 65 j=0; i=0; 66 while(j < replacelen) 67 {
68 strSrc[start+i] = strReplace[j]; 69 i++; j++; 70 } 71 strSrc[srclen+k+1] = '\0'; 72 } 73 } 74 else 75 return; 76 77 } 78 79 void main() 80 {
81 char strSrc[50]; 82 char strFind[20]; 83 char strReplace[20]; 84 85 cin >> strSrc ; 86 cin >> strFind; 87 cin >> strReplace; 88 89 StrReplace(strSrc,strFind,strReplace); 90 91 cout << strSrc << endl; 92 }

待替换子串和替换子串长度相等时:

abcd

bc
ef
aefd
请按任意键继续. . .

待替换子串长度大于替换子串时:

abcd

bc
g
agd
请按任意键继续. . .

待替换子串长度小于替换子串时:

abcd

bc
efgh
aefghd
请按任意键继续. . .

转载于:https://www.cnblogs.com/xuxu8511/archive/2012/03/30/2425286.html

你可能感兴趣的文章
第八周
查看>>
iOS-打电话、发短信、发邮件、打开浏览器
查看>>
[Swift]LeetCode646. 最长数对链 | Maximum Length of Pair Chain
查看>>
Echars 在界面上自适应问题
查看>>
[Vue-rx] Share RxJS Streams to Avoid Multiple Requests in Vue.js
查看>>
201621123023《Java程序设计》第10周学习总结
查看>>
Alpha 冲刺 (5/10)
查看>>
得到程序当前UAC的执行权限,高 - 中 - 低
查看>>
Visual Studio中从应用程序中调试SQL脚本
查看>>
BZOJ4115 : [Wf2015]Tile Cutting
查看>>
BZOJ1396 : 识别子串
查看>>
h5-画板
查看>>
app.json解释(待续)
查看>>
Python学习笔记-数据类型,运算,变量
查看>>
01 python初学(注释、交互、if while for)
查看>>
PyCharm设置改变字体大小的快捷键
查看>>
让.Net程序能够在UAC开启状态下运行
查看>>
mysql grant 授权
查看>>
Java学习从这里开始
查看>>
qq游戏IE组件停止工作
查看>>