千家信息网

如何替换字符串中的空格

发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,今天就跟大家聊聊有关如何替换字符串中的空格,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。题目描述:实现一个函数,把字符串中的每个空格替换成 "
千家信息网最后更新 2025年01月18日如何替换字符串中的空格

今天就跟大家聊聊有关如何替换字符串中的空格,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

题目描述:实现一个函数,把字符串中的每个空格替换成 "%20"

例如: 输入"We are happy." 输出"We%20are%20happy."

分析:每次遇到空格后,把空格后所有的字符都向后移动两个位置,于是会多出三个位置,此时将该三个位置替换成字符串"%20",如下图:

很显然,这种方法的时间复杂度为 O(n^2),因此不适合采用!

方法二:

根据这种思路,代码应该很好写了:

/*length 为字符数组string的总容量*/void ReplaceBlank(char string[], int length){    if(string == NULL && length <= 0)        return;    /*originalLength 为字符串string的实际长度*/    int originalLength = 0;    int numberOfBlank = 0;    int i = 0;    while(string[i] != '\0')    {        ++ originalLength;        if(string[i] == ' ')            ++ numberOfBlank;        ++ i;    }    /*newLength 为把空格替换成'%20'之后的长度*/    int newLength = originalLength + numberOfBlank * 2;    if(newLength > length)        return;    int indexOfOriginal = originalLength;    int indexOfNew = newLength;    while(indexOfOriginal >= 0 && indexOfNew > indexOfOriginal)    {        if(string[indexOfOriginal] == ' ')        {            string[indexOfNew --] = '0';            string[indexOfNew --] = '2';            string[indexOfNew --] = '%';        }        else        {            string[indexOfNew --] = string[indexOfOriginal];        }        -- indexOfOriginal;    }}

看完上述内容,你们对如何替换字符串中的空格有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

字符 空格 字符串 位置 内容 三个 方法 复杂 两个 代码 函数 复杂度 容量 思路 数组 时间 更多 知识 篇文章 行业 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 单机数据库mysql设计 华中科技大学网络安全学院保研率 软件开发很费脑吗 北京沙暴网络技术有限公司 西安app软件开发哪个好 华为和锐捷谁的网络安全做得好 我的世界末影水晶服务器 总显示微信数据库有损坏怎么回事 软件开发 不努力 一码通软件开发 TGP连接服务器 健康医疗网络安全观测 我的世界如何提取服务器ip 上海mr混合现实软件开发 移动网络技术的内容传输 洛阳中心医院服务器中标公告 全新的企业内网网络安全 江苏工业网络技术价格查询 哪年成立中央网络安全 奶块手游炼金服务器怎么样 药智数据基本药物目录查询数据库 怎么用宝塔面板开我的世界服务器 什么是 计算机网络安全 c 数据库保持连接 网络安全工资高 网络安全保卫课件 郑州公交打造网络安全主题线路 珍橙网络技术有限公司怎么样 sql如何迁数据库 网络安全法 只验证手机号
0