zoukankan      html  css  js  c++  java
  • ACM经典算法之字符串处理:字符串替换

    语法:replace(char str[],char key[],char swap[]);

    參数:
    str[]:在此源字符串进行替换操作
    key[]:被替换的字符串,不能为空串
    swap[]:替换的字符串,能够为空串,为空串表示在源字符中删除key[]

    返回值:null

    注意:默认str[]长度小于1000,如否,又一次设定设定tmp大小
    须要 string.h

    源程序:
    #include<stdio.h>
    #include<string.h>
    
    void replace(char str[],char key[],char swap[])
    {
    	int l1,l2,l3;
    	int i,j;
    	int flag;
    
    	char tmp[1000];
    	l1=strlen(str);
    	l2=strlen(key);
    	l3=strlen(swap);
    
    	for(i=0;i<=l1-l2;i++)
    	{
    		flag=1;
    		for(j=0;j<l2;j++)//注意是小写的l而不是数字1
    		{
    			if(str[i+j]!=key[j])
    			{
    				flag=0;
    				break;
    			}
    		}
    		if(flag)
    		{
    			strcpy(tmp,str);
    			strcpy(&tmp[i],swap);
    			strcpy(&tmp[i+l3],&str[i+l2]);
    			strcpy(str,tmp);
    			i+=l3-1;
    			l1=strlen(str);
    		}
    	}
    }
    int main()
    {
    	char str[] ="I have a dream";
    	char key[] ="have";
    	char swap[]="Love";
    
    	printf("原字符串是%s
    被替换的子串%s,替换为%s
    ",str,key,swap);
    	replace(str,key,swap);
    
    	puts("替换后的字符串是:");
    	puts(str);
    
    
    	return 0;
    }

  • 相关阅读:
    HTTPS协议详解
    HTTP协议详解
    网络传输协议 UDP & TCP 详解
    Socket(套接字)基础概念
    网络基础
    OSI 七层协议
    经典SQL题 1/25/50/100美分,多少种可能拼凑成2美元
    5.1一阶谓词逻辑
    4.4符号视角下的科学
    4.3领域语言与自然语言的比较
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4263062.html
Copyright © 2011-2022 走看看