精华内容
下载资源
问答
  • C语言实现字符串替换

    万次阅读 多人点赞 2019-03-08 17:35:48
    关键点: 1.注意字符数组与字符串的区别;在字符数组最后一个字符后面...描述:第一行输入原字符串,第二行输入要替换字符串, 第三行输入新的字符串 输入示例: There is an orange, do you want to eat it?...

    关键点:
    1.注意字符数组与字符串的区别;在字符数组最后一个字符后面加上’\0’就构成了一个字符串。

    /*-------------------------------------------------
    功能:实现字符串的替换
    描述:第一行输入原字符串,第二行输入要替换字符串,
    第三行输入新的字符串
    输入示例:
    There is an orange, do you want to eat it?
    orange
    apple
    输出示例:
    There is an apple, do you want to eat it?
    Author: Zhang Kaizhou
    Date: 2019-8-9 11:11:32
    --------------------------------------------------*/
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #define MAXSIZE 300
    
    void str_replace(char * str1, char * str2, char * str3);
    
    int main(){
        char str1[MAXSIZE];
        char str2[MAXSIZE];
        char str3[MAXSIZE];
        gets(str1);
        gets(str2);
        gets(str3);
        str_replace(str1, str2, str3);
        puts(str1);
    
        return 0;
    }
    
    void str_replace(char * str1, char * str2, char * str3){
        int i, j, k, done, count = 0, gap = 0;
        char temp[MAXSIZE];
        for(i = 0; i < strlen(str1); i += gap){
            if(str1[i] == str2[0]){
                done = 0;
                for(j = i, k = 0; k < strlen(str2); j++, k++){
                    if(str1[j] != str2[k]){
                        done = 1;
                        gap = k;
                        break;
                    }
                }
                if(done == 0){ // 已找到待替换字符串并替换
                    for(j = i + strlen(str2), k = 0; j < strlen(str1); j++, k++){ // 保存原字符串中剩余的字符
                        temp[k] = str1[j];
                    }
                    temp[k] = '\0'; // 将字符数组变成字符串
                    for(j = i, k = 0; k < strlen(str3); j++, k++){ // 字符串替换
                        str1[j] = str3[k];
                        count++;
                    }
                    for(k = 0; k < strlen(temp); j++, k++){ // 剩余字符串回接
                        str1[j] = temp[k];
                    }
                    str1[j] = '\0'; // 将字符数组变成字符串
                    gap = strlen(str2);
                }
            }else{
                gap = 1;
            }
        }
        if(count == 0){
            printf("Can't find the replaced string!\n");
        }
        return;
    }
    
    
    
    展开全文
  • C语言 16行代码实现字符串中指定字符串替换

    万次阅读 多人点赞 2018-08-03 17:05:35
    1.等长字符串替换 2.长字符串替换为短字符串 3.短字符串替换为长字符串 4.中文替换 注意:短字符串替换成长字符串要注意内存越界 其他字符串函数https://mp.csdn.net/postedit/82996174 函数代码 /* 功 能...

    推荐文章

    Qt开发一款免费开源功能完整的串口调试、Tcp、Udp调试工具


    目录

    1. 功能描述

    V0.2

    V0.3 

    2.函数代码

    V0.3代码

    V0.2代码


    1. 功能描述

    V0.2

    1. 任意长度字符串替换
    2. 中文替换

    V0.3 

    1. 重新实现,大字符串替换性能嗖嗖

            注意:替换后的存储地要准备足够的空间,防止内存越界

            其他字符串函数CSDN

    2.函数代码

    应粉丝需求,一个3.9M的文件做 字符串替换,3年前的V0.2崩溃,修复后性能巨差问题显现,之前没测试过大字符串替换,所以重新实现一下。最近不用linux环境了,用qt写的c代码。参数有所变化,这版速度贼快。

    V0.3代码

    #include <QApplication>
    #include <QDebug>
    
    /* 功  能:将 src 字符串中的 before 字符串替换为 after 字符串
     * 参  数:dest:替换后的字符串存储地 src:操作目标 before :需替换的字符串 after :替换为
     * 返回值:返回替换之后的字符串
     * 版  本:V0.3
     * 注  意:dest要提前准备好足够空间
     */
    char *strrpc(char *dest,char *src,char *before,char *after){
        size_t src_size = strlen(src);
        size_t before_str_size = strlen(before);
        size_t after_str_size = strlen(after);
    
        size_t dest_offset = 0;
        for(size_t src_offset = 0;src_offset < src_size; ){
            if(!strncmp(src + src_offset,before,before_str_size)){
                memcpy(dest + dest_offset,after, after_str_size);
                src_offset += before_str_size;
                dest_offset += after_str_size;
            }else{
                memmove(dest + dest_offset,src + src_offset,1);
                dest_offset++;
                src_offset++;
            }
        }
    
        return dest;
    }
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
    
        char str[] = "Hello,中国!";
        char dest[1024];
        memset(dest,0,1024);
        strrpc(dest,str,"中国","世界");
        qDebug()<<str<<dest; //打印结果
    
        memset(dest,0,1024);
        strrpc(dest,str,"Hello","你好");
        qDebug()<<str<<dest; //打印结果
    
        memset(dest,0,1024);
        strrpc(dest,str,"Hello,中国!","你好,世界!");
        qDebug()<<str<<dest; //打印结果
    
        return a.exec();
    }
    

    输出结果 

     

    V0.2代码

    以下问题代码已弃用 


    #include <stdio.h>
    #include <string.h>
    
    
    /* 功  能:将str字符串中的oldstr字符串替换为newstr字符串
     * 参  数:str:操作目标 oldstr:被替换者 newstr:替换者
     * 返回值:返回替换之后的字符串
     * 版  本: V0.2
     */
    char *strrpc(char *str,char *oldstr,char *newstr){
        char bstr[strlen(str)];//转换缓冲区
        memset(bstr,0,sizeof(bstr));
     
        for(int i = 0;i < strlen(str);i++){
            if(!strncmp(str+i,oldstr,strlen(oldstr))){//查找目标字符串
                strcat(bstr,newstr);
                i += strlen(oldstr) - 1;
            }else{
            	strncat(bstr,str + i,1);//保存一字节进缓冲区
    	    }
        }
     
        strcpy(str,bstr);
        return str;
    }
    
    int main(void)
    {
    	char str[] = "Hello,中国!\n"; 
    	strrpc(str,"中国","世界");
    	printf("%s",str);
    	strrpc(str,"Hello","你好");
    	printf("%s",str);
    	strrpc(str,"你好,世界","Hello,world");
    	printf("%s",str);
    	return 0;
    }
    

    搜这个的人还挺多,大家还需要什么别的函数,欢迎在下方留言^-^。

    展开全文
  • python字符串替换replace函数

    万次阅读 多人点赞 2019-11-03 11:21:11
    python字符串替换replace函数 replace(old, new, count) old,旧字符或字符串 new,新字符或字符串 count,最大替换数量,从起始位置开始计数,默认替换所有 注意:replace函数替换字符串,不影响原字符串 示例1:...

    python字符串替换replace函数

    replace(old, new, count)
    • old,旧字符或字符串
    • new,新字符或字符串
    • count,最大替换数量,从起始位置开始计数,默认替换所有
    • 注意:replace函数替换字符串,不影响原字符串

    示例1:默认替换所有

    s1 = '2019.10.30'
    s2 = s1.replace('.', '-')
    s2
    
    '2019-10-30'
    
    s1      # 不影响原字符串
    
    '2019.10.30'
    

    示例2:指定替换数量

    s1 = '2019.10.30'
    s2 = s1.replace('.', '-',1)
    s2
    
    '2019-10.30'
    

    示例3:替换字符串

    s1 = '2019.10.30'
    s2 = s1.replace('19', '20')
    s2
    
    '2020.10.30'
    
    展开全文
  • 字符串替换

    千次阅读 2019-03-19 17:09:52
    请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy 解题思路 第一种:投机取巧 直接调用已有replace方法 public class ...

    请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy


    解题思路

    第一种:投机取巧

    直接调用已有replace方法

    public class Solution {
    
        public String replaceSpace(StringBuffer str) {
    
             return str.toString().replaceAll(" " , "%20");
    
        }
    
    }

     


    第二种:构建新的字符串

    将原有字符串放置于字符数组中

    循环遍历字符数组

    将原有字符串数据添加到新的字符串中

    遇到空格则改变空格,把%20添加到新字符串中

    public class Solution {
    
        public String replaceSpace(StringBuffer str) {
    
            //将StringBuffer转换成String类型
    
            String strOld = str.toString();
    
            //将Sring类型转换成字符数组
    
            char[] strOldChar = strOld.toCharArray();
    
            //构建新的字符串
    
            StringBuffer strNew = new StringBuffer();
    
            for(int i = 0; i < strOldChar.length;i++){
    
                if(strOldChar[i] == ' '){
    
                    strNew.append("%20");
    
                }else{
    
                    strNew.append(strOldChar[i]);
    
                }
    
            }
    
            return strNew.toString();
    
        }
    
    }


    第三种:原字符串替换法

    从前向后记录‘ ’数目,从后向前替换‘ ’。 重点:从后向前替换的时候的技巧 例如:“we are lucky”

    0  1  2  3  4  5  6  7  8  9  10  11

    W e      A  r  e      L  u  c   k    y

    可以得知count=2;//空格的个数。 所以在替换的时候7~11的字母要向后移动count×2个位置,3~5字母要向后移动(count-1)×2个位置。 所以得到 :

    0  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15

    W e     A   r  e      L  u  c   k    y

    W e              A  r  a                 L    u    c    k     y

    在替换的时候直接在空格处写入%20了

    0  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15

    W e     A   r  e      L  u  c   k    y

    W e % 2  0  A   r  e % 2   0    L    u    c     k    y

    public class Solution {
    
        public String replaceSpace(StringBuffer str) {
    
            int spacenum = 0;//spacenum为计算空格数
    
            for(int i=0;i<str.length();i++){
    
                if(str.charAt(i)==' ')
    
                    spacenum++;
    
            }
    
            int indexold = str.length()-1; //indexold为为替换前的str下标
    
            int newlength = str.length() + spacenum*2;//计算空格转换成%20之后的str长度
    
            int indexnew = newlength-1;//indexold为为把空格替换为%20后的str下标
    
            str.setLength(newlength);//使str的长度扩大到转换成%20之后的长度,防止下标越界
    
            for(;indexold>=0 ;--indexold){
    
                    if(str.charAt(indexold) == ' '){  //
    
                    str.setCharAt(indexnew--, '0');
    
                    str.setCharAt(indexnew--, '2');
    
                    str.setCharAt(indexnew--, '%');
    
                    }else{
    
                        str.setCharAt(indexnew--, str.charAt(indexold));
    
                    }
    
            }
    
            return str.toString();
    
        }
    
    }

     

     

     


    总结:在对字符串进行操作的时候,要注意是什么类型(StringBuffer无法直接转换成字符数组)

    字符串或数组做替换操作时要考虑到长度的问题,比原数据多或少的时候都要相应的增加或减少长度

    为了防止下标越界等问题,一般操作为:从前往后遍历,从后往前操作

     


    知识点:

    Java中字符数组、String类、StringBuffer三者的相互转换

    Java中的String,StringBuilder,StringBuffer三者的区别

     

    展开全文
  • c语言实现字符串替换

    热门讨论 2010-05-24 22:40:34
    c语言实现字符串替换c语言实现字符串替换c语言实现字符串替换c语言实现字符串替换c语言实现字符串替换c语言实现字符串替换c语言实现字符串替换c语言实现字符串替换c语言实现字符串替换c语言实现字符串替换c语言实现...
  • *在有效的字符串内,用新字符串替换指定的字符串,仅执行一次替换操作 *str: 待替换的字符串源 *oldstr: 被替换的字符串 *newstr: 用于替换的新字符串 *result: 参数输出执行替换后的结果(可用该函数返回值,也可用...
  • 在 Python 中的常见的几种字符串替换操作

    万次阅读 多人点赞 2020-01-20 22:17:37
    替换多个不同的字符串:re.sub(),re.subn() 用正则表达式替换:re.sub(),re.subn() 根据位置来替换:slice() replace() 方法 比如,输入的字符串为’one two one two one’,第一个参数为替换前的参数,第二个为...
  • Java字符串替换功能

    千次阅读 2019-04-09 11:00:31
    (1):替换字符串中${name} 类似的字符串 比如: import java.io.IOException; import java.io.StringReader; import java.io.StringWriter; import java.util.Map; import org.springframework.core.io....
  • python基础(一)字符串替换

    万次阅读 2019-02-18 21:39:02
    (4)字符串替换 .replace() 方法replace将指定子串都替换为另一个字符串,并返回替换后的结果。 &gt;&gt;&gt; 'This is a test'.replace('is', 'eez')  'Theezeez a test' 如果你使用过字处理程序的...
  • sed 字符串替换

    千次阅读 2020-06-02 12:49:33
    sed 's/原字符串/替换字符串/' 单引号里面,s表示替换,三根斜线中间是替换的样式,特殊字符需要使用反斜线\进行转义。 2、单引号''是没有办法用反斜线\转义的,这时候只要把命令中的单引号改为双引号就行了,格式...
  • groovy replace字符串替换

    千次阅读 2021-02-26 20:26:01
    去掉[/etc/hosts]中的“[”和“]” 代码 def hostFile = "[/etc/hosts]" println hostFile.replace("[","").replace("]","") 结果 ...如果处理的对象不是字符串,可以用toString()方法转换为字符串
  • 串替换,实现字符串替换操作

    千次阅读 2020-04-10 10:08:38
    不调用库函数,自己实现字符串替换操作,函数原型为: int str_replace(const char *in, char *out, int outlen, const char *oldstr, const char *newstr); 参数说明: in, 原始字符串,保持不变 out, 存放替换结果...
  • Angular 字符串替换

    千次阅读 2019-10-30 14:05:05
    <span *ngIf="!item.filterWordsPass">...-- matchWords 关键字数组, content 字符串 (页面)--> <i [innerHTML]="keyWordManage(item.matchWords,item.comment.content)"></i> </span...
  • JS字符串 替换所有匹配的字符串

    千次阅读 2018-10-25 15:19:32
    var aa = 'ab,cd,ef,cwa' var bb = aa.replace(/\,c/g, '--') ...这里是替换所有的“,c”,如果只是想替换掉第一个匹配项,代码如下: var aa = 'ab,cd,ef,cwa' var bb = aa.replace(',c', '--') ...
  • c++字符串替换

    千次阅读 2018-08-16 19:35:40
    C++的string提供了replace方法来实现字符串的替换,但是对于将字符...用新字符串替换所有旧字符串,替换之后仍可能出现出现有旧的字符串 string&amp; replace_all替换之后不再出现有旧的字符串(替换的更彻底) ...
  • 字符串替换是指定搜索内容和替换内容,如果输入流的字段匹配上搜索内容就进行替换生成新字段。 Concat fields就是多个字段连接起来形成一个新的字段。 字符串操作是去除字符串两端的空格和大小写切换,并生成新的...
  • 字符串替换 (replace)

    千次阅读 2019-09-30 00:06:04
    将文本文件中指定的字符串替换成新字符串。 由于目前的OJ系统暂时不能支持用户读入文件,我们编写程序从键盘输入文件中的内容,当输入的一行为end时,表示结束。end后面有两个字符串,要求用第二个字符串替换文本中...
  • 字符串替换的方法

    千次阅读 2018-09-30 17:26:15
    字符串替换方法 1.replace( )方法使用非常简单 *例子 let box=“abcd” let box1=box.replace(“a”,“5”) console.log(box1) //“5bcd” *2还可以以这样用正折的属性/g let box=“a1b2a3c” let box1=box....
  • s.str.replace('A','Z')#.replace()将字符串替换成另外的 s1 = pd.Series(['a1','a2','a3','a4'])#创建一个新的序列 s1.str.extract('([abc])(\d)')#提取 s1.str.extract('[ab](\d)')#提取 s2 = pd.Series(['a','B'...
  • kettle工具字符串替换

    千次阅读 2019-10-04 03:32:43
    去掉括号内容(包括括号,或者替换为指定内容) 即可。 世界之大,这个东西,准确的说正则表达式,我搞了小半天!!! 转载于:https://www.cnblogs.com/mm20/p/11482789.html...
  • shell字符串替换命令

    千次阅读 2020-03-25 21:11:51
    替换文件中的字符串 sed -i "s/oldstring/newstring/g" `grep oldstring -rl /tmp/mydir` shell脚本中替换字符串 #!/bin/bash str='hello oldstring!' dist="${str/oldstring/newstring}" echo $dist ...
  • Java 模板变量替换——字符串替换

    万次阅读 2019-08-14 11:34:03
    Java 模板变量替换——字符串替换器说明可选方法org.apache.commons.textjava.text.MessageFormatjava.lang.String 说明 这里分享 3 种方法,从功能最强大的开始 可选方法 org.apache.commons.text 参考文档:...
  • ClickHouse 字符串替换函数

    千次阅读 2021-01-15 21:33:07
    注:对于空子字符串,正则表达式只会进行一次替换。 select replaceRegexpAll('Hello, ClickHouce', '^', 'here: ') AS res; 5、regexpQuoteMeta(s) 说明:该函数用于在字符串中的某些预定义字符之前添加反斜杠。 ...
  • 字符串替换 使用字符串的replace()方法可以实现字符串替换操作。该方法包含两个参数: 第一个: 表示执行匹配的正则表达式,也可以传递字符串 第二个: 表示准备代替匹配的子字符串 var s = "index.html"; var ...
  • golang strings Replace 字符串替换

    万次阅读 2020-01-15 19:03:14
    官方描述为:返回将s中前n个不重叠old子串都替换为new的新字符串,如果n<0会替换所有old子串。 示例代码为,每行的结果见每行上面的注释部分: func main() { // non-overlapping: "123" repeat 6 times in .....
  • 字符串替换(C语言实现)

    千次阅读 2020-03-30 11:33:07
    习题7-7 字符串替换(C语言实现) 分析: A - Z, B - Y, C - X … 第1个英文字母替换为第26个英文字母,第二个英文字母替换为第25个英文字母… 因此:第 i 个英文字母 替换为 第 (26 - i + 1) 个英文字母 如果 ch ...
  • 常规用法: var test = "a,b,c,d"; test = test.replace(",","-"); 输出:“a-b,c,d”; ...replace默认替换的是第一个。...全部替换调用方法: ...简单讲就是/和/g中间的部分是需要替换...但是现实使用中会存在需要替换的...
  • Java 字符串 之 字符串替换

    万次阅读 2018-06-04 09:44:36
    字符串替换操作 1. String replace(char oldChar,char newChar) //将新字符替换旧字符 3. String replaceFirst(String regex,String replacement); //替换第一个满足条件的字符串 */ pub...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 856,010
精华内容 342,404
关键字:

字符串替换