c语言替换字符串中的子串
c语言替换字符串中的子串
#include
#include
int checkStr(char *s1, char *s2) //匹配字符串相不相等
{
for (int i = 0; i < strlen(s2); i++)
{
if (s1[i] != s2[i]) return 0;
}
return 1;
}
void reStr(char *s1, char *s2, char *s3)//替换字符串
{
int s1len = strlen(s1),
s2len = strlen(s2),
s3len = strlen(s3);
int n1 = s1len - s2len;
int n2 = s2len - s3len;
if (n2 > 0)
{
//后面的字符串全部向前移n2个位置
for (int i = s2len; i < s1len; i++)
{
s1[i - n2] = s1[i];
}
s1[s1len - n2] = '\0';
}
else if (n2 < 0)//后面的字符串全部向后移n2个位置
{
for (int i = s1len; i >= s2len; i--)
{
s1[i - n2] = s1[i];
}
s1[s1len - n2 + 1] = '\0';
}
//然后在把要替换的字符串插进去
for (int i = 0; i < s3len; i++)
{
s1[i] = s3[i];
}
}
int replaceStr(char *s1, char *s2, char *s3)//替换字符串函数返回n表示替换了多少次
{
int n = 0;
for (int i = 0; i < strlen(s1); i++)
{
if (s1[i] == s2[0] && checkStr(&s1[i], s2) == 1)
{
reStr(&s1[i], s2, s3);
n++;
}
}
return n;
}
int main()
{
// test!!!
char s1[30] = "qwertyuerp";
char s2[] = "er";
char s3[] = "111111";
printf("%d\n%s\n", replaceStr(s1, s2, s3), s1);
return 0;
}
c语言替换字符串中的子串相关推荐
- c语言 替换字符串中的子串,字符串中的子串替换
在很多编程语言中,都封装了字符串替换的操作,那么我们这里自己用C语言来实现一个字符串替换的函数.具体需求为:Replace(String S,String T,String V),用V替换主串S中出现 ...
- python替换字符串元素_python替换字符串中的子串图文步骤
python替换字符串中的子串图文步骤 修改字符串本身是不可能的,因为字符串是不可变类型,只能是通过某些方法来产生它的副本.再把副本赋值给原字符串,达到类似替换的作用.这里介绍几种方法. 旧串换新串: ...
- R语言使用str_replace函数和str_replace_all函数替换字符串中匹配到的模式:str_replace函数替换第一个匹配到的字符串、str_replace_all函数替换所有匹配到的
R语言使用str_replace函数和str_replace_all函数替换字符串中匹配到的模式:str_replace函数替换第一个匹配到的字符串.str_replace_all函数替换所有匹配到的 ...
- C语言用‘%20‘替换字符串中的所有空格的算法(附完整源码)
C语言用'%20'替换字符串中的所有空格的算法 C语言用'%20'替换字符串中的所有空格的算法完整源码(定义,实现,main函数测试) C语言用'%20'替换字符串中的所有空格的算法完整源码(定义,实 ...
- .bat批处理(十一):替换字符串中包含百分号%的子串
文章目录 前言 问题示例 解决方法 示例代码 运行结果 总结 前言 今天这篇总结是之前批处理替换字符串的延伸问题,同样来源于读者的提问,要处理的问题是被替换的子串中如果有百分号 % 要怎样替换,因为 ...
- python中替换字符串中字符_python替换字符串中的某个字符
python_split_strip_replace使用方法 使用python时会经常要对字符串做一些处理,比如:分割字符串.去掉空格.替换字符串 中的某个字符等,下面介绍下这几个功能的使用. 一. ...
- 字符串之替换字符串中连续出现的指定字符串
题目: 字符串之替换字符串中连续出现的指定字符串 给定3个字符串str from to已知from字符串无重复字符,把str中所有from的子串全都替换成to字符串,连续出现from只需要换成一个to ...
- 7-29 删除字符串中的子串
PTA-7-29 删除字符串中的子串 输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2. 输入格式: 输入在2行中分别给出不超过80个字符长度的.以回车结束 ...
- 用‘+‘替换字符串中的所有空格[复制]
本文翻译自:Replace all spaces in a string with '+' [duplicate] This question already has an answer here: ...
最新文章
- 安装PHP7.3.2make编译出现报错,内存不足导致,临时解决方法
- Asp.net 内置对象
- 有趣的c语言程序Code,一个有趣的小程序
- 向代码节添加代码编程实现
- installEventFilter、eventFilter函数理解
- 数据库系统工程师考点分析
- C++学习笔记章节中 面向对象详解
- linux /etc/profile文件,Linux 配置文件 /etc/profile
- 在哪里学python-在合肥学习Python去哪
- java继承与多态 心得体会_继承与多态感想
- 一键杀死最近打开APP
- Springboot thymeleaf i18n国际化多语言选择
- 计算机科学技术专业单片机,计算机科学与技术专业毕业论文---基于单片机的智能浇花系统的设计与实现.docx...
- 树莓派的IP地址查找
- java调用讯飞语音合成api
- GIS 矢量数据 编码方式
- 计算机共享文件登录人员记录,如何查看共享文件夹的访问记录,查看共享文件访问日志?...
- 激活剂、天梯与火石:从ASC 19解读产学结合的关键密码
- 什么是无线WIFI空口
- 【已解决】Mac每次重启,谷歌Chrome都会丢失所有的扩展程序/extensions/插件