将字符串中的字符替换成指定字符c

C 全部替换字符串里某个字符或者某个子串

/*将字符串中某个字符全部替换为另一个字符*/ 

#include<stdio.h>

 #include<stdlib.h>

 #include<string.h> 

intsubstitude(char s1[],char A,char B)

 {  int N,P=0;  N= strlen(s1);  for (int M = 0;M <= N;M++)  {   if (s1[M] == A)  

 {    s1[M] = B;  

  P=P+1;   }  }  

return P; }  

int main()

 {  printf("欢迎使用替换字符的程序\n");  

char s2[81];  

char E, D; 

 printf("请输入一个字符串:");  scanf("%81s",s2); 

 printf("\n请输入被替换的字符和替换后的字符:"); 

 scanf("%s,%s",&E,&D); 

 printf("需要的次数为:",E,D);  

printf("%d",substitude(s2,E,D)); 

 system("PAUSE");  

return 0; 

}

https://wenku.baidu.com/view/b3d2fc0d0c22590103029da5.html

https://zhidao.baidu.com/question/355521750.html

void rep(char *s,char *s1,char *s2)
{
char *p;
for(;*s;s++) /*顺序访问字符串s中的每个字符*/
{
for(p=s1;*p&&*p!=*s;p++);/*检查当前字符是否在字符串s1中出现*/
if(*p)
*s=*(p-s1+s2); /*当前字符在字符串s1中出现,用字符串s2中的对应字符代替s中的字符*/
}
}
http://blog.csdn.net/ifen_huang/article/details/52957863
#include<string.h>
#include<stdio.h>

#include<stdlib.h>

//把source字符串里所有s1字符全部替换成字符s2

void replace_char(char *result, char *source, char s1, char s2) {     int i = 0;     char *q = NULL;     q = source;     for(i=0; i<strlen(q); i++)     {         if(q[i] == s1)         {             q[i] = s2;         }     }     strcpy(result, q); } void replace_string(char *result, char *source, char* s1, char *s2) {     char *q=NULL;     char *p=NULL;         p=source;     while((q=strstr(p, s1))!=NULL)     {         strncpy(result, p, q-p);         result[q-p]= '\0';//very important, must attention!         strcat(result, s2);         strcat(result, q+strlen(s1));         strcpy(p,result);     }     strcpy(result, p);     } void main() {     char url[64] = "ad12 fdf5 d12f dfd12 dfp";     char result[64] = {0};          replace_char(result, url, ' ', '_' );//把url里所有‘ ’字符替换成'_'字符,结果存在result中     printf("char final result=%s\n",result);     memset(result, 0, sizeof(result));     replace_string(result, url, "12", "@@@");//把url里所有“12”字符串替换成“@@@”字符串     printf("string final result=%s\n", result);

}

分别单独运行的结果如下:

测试结果:char final result=ad12_fdf5_d12f_dfd12_dfp

测试结果:string:final result=ad@@@ fdf5 d@@@f dfd@@@ dfp


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值