C语言:替换字符串中某一段子字符串
最近在写代码的时候,因为工作需要从一个较长的字符串中提取出一小段字符串,然后将新字符串填到提取出来字符串的位置,就像这样子,将str1中的yyyyy提取出来然后将str2填到str1中变成str3。
str1 = “xxxxyyyyyzzzzzdddd”;
str2 = “bbbb”;
str3 = “xxxxbbbbzzzzzdddd”;
首先我们需要自己写两个函数,一个提取指定字符串函数,一个替换字符串函数,下面代码中substr是替换函数,strrep是提取函数。
下面直接给大家上代码
#include <stdio.h>
#include <string.h>
int substr(char dst[], char src[],int start, int len)
{int i;for(i=0;i<len;i++){dst[i]=src[start+i]; }dst[i]='\0';return i;
}static char *strrep(char *str, char *src, char *dest)
{char bstr[strlen(str)];memset(bstr, 0, sizeof(bstr));for(int i = 0; i < strlen(str); i++){if(!strncmp(str+i, src, strlen(src))){strcat(bstr, dest);i += strlen(src) - 1;}else{strncat(bstr, str + i, 1);}
}strcpy(str, bstr);
return str;
}int main()
{char dst[50]; char src[]="ws://173.36.158.27:8090/haha/ws/xixi";char str[]="//188.16.3.1";char *p,*q;int len1,len2,len;len = strlen(src);printf("%d\n",len);p = strchr(src, ':');len1 = strlen(p);printf("%d\n",len1);q = strrchr(src,':');len2 = strlen(q);printf("%d\n",len2);int m;m=substr(dst,src,len - len1,len1-len2); printf("%s\n",dst);printf("%d\n",m);strrep(src, dst, str);printf("%s\n",src);return 0;
}
C语言:替换字符串中某一段子字符串相关推荐
- php的strpos不支持数字,php使用strpos判断字符串中数字类型子字符串出错的解决方法 原创...
php使用strpos判断字符串中数字类型子字符串出错的解决方法 原创 这里有新鲜出炉的 PHP 面向对象编程,程序狗速度看过来! PHP 开源脚本语言 PHP(外文名: Hypertext Prep ...
- javascript 判断字符串中是否包含某个字符串
文章目录 String对象的方法 方法一: indexOf() (推荐) 方法二: search() 方法三:match() RegExp 对象方法 方法四:test() 方法五:exec() Str ...
- 在字符串中查找指定的字符串--strstr
在实际开发过程中,某个无线模块,比如wifi模块,你给它发送一条指令,它给你返回一条应答,这条应答不是根据什么协议应答给你,只是返回了一条带有某个特殊的字符串字段,这个特殊的字符字段能帮我们判断模块返 ...
- js 判断字符串中是否包含某个字符串
String对象的方法 方法一: indexOf() (推荐) var str = "123"; console.log(str.indexOf("3") != ...
- JavaScript判断字符串中包含另一个字符串(QML 中使用)
前言 为啥会搞JavaScript呢,原因很简单,因为 QML 中用到了 JS 的语法,本来在 Qt 里面 QString 检查字符串是否包含一个子串是非常简单的事情,直接用contains()函数就 ...
- java小编程--在一个A字符串中找到与B字符串一样的,返回B字符串出现的第一个位置
给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中 * 找出 needle 字符串出现的第一个位置 (从0开始).如果不存 ...
- 判断数组中是否包含某个元素,判断对象中是否包含某个属性,判断字符串中是否包含某个字符串片段
1-判断对象中是否包含某个元素 方法一: 使用in var str = {name:"mayouchen",name:"js", age:100 }alert( ...
- 5918. 统计字符串中的元音子字符串
5918. 统计字符串中的元音子字符串 子字符串 是字符串中的一个连续(非空)的字符序列. 元音子字符串 是 仅 由元音('a'.'e'.'i'.'o' 和 'u')组成的一个子字符串,且必须包含 全 ...
- php判断字符串中是否包含某字符串
//判断某字符串中是否包含某字符串的方法 if(strpos('www.idc-gz.com','idc-gz') !== false){echo '包含';}else{echo '不包含';} 注释 ...
最新文章
- Linux bash 漏洞修补
- mysql忘记密码如何修改
- PyQt5 笔记1 -- 环境配置
- mysql实体_mysql实体关系
- 二狗叫你制作千M网线的线序及方法
- P3146 [USACO16OPEN]248 G(python3实现)
- thinkcmf 横向排列数据_Excel横向筛选出销量靠后的月份数据,你知道如何实现吗...
- android 智能手机usb驱动程序,华为手机usb驱动下载
- java js页面提示报警声音
- 高通抓取ramdump
- 基本粒子群算法matlab 程序
- Baumer工业相机堡盟工业相机如何通过BGAPISDK显示彩色相机和黑白相机的图像(C#)
- matlab仿真冲激响应函数,无限冲激响应数字滤波器的设计与MATLAB仿真
- Umeng App监管执法合规自查通知
- 2022卡塔尔世界杯小组赛出线形势分析指南——德国队会被西班牙做掉吗?
- SSH建立连接的过程
- UDS之浅谈11服务
- C++ 求绝对值函数abs()
- Windows10远程桌面无法复制粘贴问题
- Springboot+vue+java幼儿园管理系统
热门文章
- ice通信原理_变频开关电源工作原理,开关电源自我检修
- electron 打开调试_构建基于 iOS 模拟器的前端调试方案
- 计算机网络中TCP属于,【填空题】TCP/IP协议将计算机网络的结构划分为应用层、传输层、网络互连层等4个层次,其中IP协议属于【1】层。...
- python查看微信撤回消息_python如何查看微信消息撤回
- @Pathvariable的参数允许为空的问题的解决
- 使用xshell6连接linux提示 WARNING! The remote SSH server rejected X11 forwarding
- Android开发笔记(一百二十七)活用提示窗Toast和Snackbar
- Android开发笔记(九十七)图片的特效处理
- [转】Python--遍历列表时删除元素的正确做法
- KPN iTV的敏捷转型之旅