将一个字符串中的空格替换成“%20”(C、Python)
将一个字符串中的空格替换成“%20”
C语言:
/*
-----------------------------------
通过函数调用,传地址来操作字符串
1.先计算出替换后的字符串的长度
2.从字符串最后一个字符串开始往右移
-----------------------------------
*/ # include <stdio.h>
# include <string.h> void replace(char * arr)
{
int i, j, len, count;
count = ;
len = strlen(arr); for (i=; i<len; i++)
{
if (arr[i] == ' ')
{
count++;
}
} i = len;
j = * count + len; //每一个空格用三个字符替换,所以相当于每个空格多2个字符;
printf("处理前的字符串为:%s\n", arr); while (i!=j && i>=)
{
if (arr[i] == ' ')
{
arr[j--] = '';
arr[j--] = '';
arr[j--] = '%';
i--;
}
else
{
arr[j] = arr[i]; //第一次替换的是字符串的结束符'\0'
j--;
i--;
}
}
printf("处理后的字符串为:%s\n", arr);
} int main(void)
{
char str[] = "We Are Happy.";
replace(str); return ;
} /*
在Vc++6.0中的输出结果为:
-----------------------------------
处理前的字符串为:We Are Happy.
处理后的字符串为:We%20Are%20Happy.
Press any key to continue
-----------------------------------
*/
另外,在C中,计算数组中元素个数用sizeof
int a[] = {1, 3, 5, 6, 9};
int m = sizeof(a)/sizeof(int);
Python:
如果需要修改字符串,则先转换为列表,最后再通过join转为字符串
方法一:
s = 'hello my baby'
def rep(s):
li = []
for i in s:
li.append(i)
for i in range(len(li)):
if li[i] == ' ':
li[i] = '%20'
return ''.join(li)
s = rep(s)
print(s)

方法二:
s = 'hello my baby'
def rep(s):
li = []
for i in s:
li.append(i)
for i in li:
if i==' ':
li[li.index(i)]='%20'
return ''.join(li)
s = rep(s)
print(s)

将一个字符串中的空格替换成“%20”(C、Python)的更多相关文章
- 符号替换问题:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
public class Solution { public String replaceSpace(StringBuffer str) { String str1=str.toString(); c ...
- 替换空格-请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
class Solution { public: void replaceSpace(char *str,int length) { char *tmp; ; int i; ;i<length; ...
- 《剑指offer面试题4》替换空格——实现函数把字符串中每个空格替换成“%20”
思路: 例如把we are happy这个字符串中所有空格替换成"%20",最直接的做法是从头开始扫苗,遇到空格就替换,并且把空格后面的字符都顺序后移.复杂度O(n^2). 重要思 ...
- 编程练习 将一个字符串中的空格替换为 "%20"
重点:字符串和元组一样, 是不可变对象. 所以将创建一个新的字符串对象,将改变后的字符加入到该新的对象里. 两种方法: 1.python的 replace函数 2.判断修改 def replace(a ...
- 【剑指offer】将字符串中的空格替换成"%20"
#include <iostream> #include <string> using namespace std; char *ReplaceSpace(char *str, ...
- 【C语言】字符串替换空格:实现一个函数,把字符串里的空格替换成“%20”
//字符串替换空格:实现一个函数,把字符串里的空格替换成"%20" #include <stdio.h> #include <assert.h> void ...
- 把字符串中的空格替换为"%20"
这个需要注意的是字符串的结尾最后一个字符为'\0',并不是空字符,复制时要一块复制,算法思想就是先计算出字符串中总的空格数,然后 重新计算字符串的长度,由于"%20"为3个字符,比 ...
- 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
一.题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 二.解题思路 1)简单暴力解法 ...
- 剑指offer2:C++实现的替换空格(字符中的空格替换为“%20”)
1. 题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 2. 思路和方法: 2.1 ...
随机推荐
- BZOJ 3561 DZY Loves Math VI
BZOJ 3561 DZY Loves Math VI 求\(\sum_{i=1}^{n}\sum_{j=1}^{m}\text{lcm}(i,j)^{\gcd(i,j)}\),钦定\(n\leq m ...
- sql文件或连接数据库反向生成pdm文件
1. File -> Reverse Engineer -> Database 2.选择sql数据库类型 mysql / sqlserver /oracle 3.using script ...
- Ceph分布式存储-原理介绍及简单部署
1)Ceph简单概述Ceph是一个分布式存储系统,诞生于2004年,最早致力于开发下一代高性能分布式文件系统的项目.Ceph源码下载:http://ceph.com/download/.随着云计算的发 ...
- Kruskal算法-HDU1863畅通工程
链接 [http://acm.hdu.edu.cn/showproblem.php?pid=1863] 题意 Problem Description 省政府"畅通工程"的目标是使全 ...
- alpa开发阶段团队贡献分
这是我们团队之前决定的分配方式: 1.凡是认真完成自己任务的队员,都将有基础分30分(态度分). 2. 将整个项目细化为不同的任务,列出一个任务清单,在综合.协调完每名成员的意愿后,我会分配清单中的任 ...
- Linux内核分析 读书笔记 (第三章)
第三章 进程管理 3.1 进程 1.进程: 进程就是处于执行期的程序. 进程就是正在执行的程序代码的实时结果. 进程是处于执行期的程序以及相关的资源的总称. 进程包括代码段和其他资源. 2.线程:执行 ...
- 第三个Sprint冲刺第五天(燃尽图)
- Centos wget命令 not found解决方法
如果已经有了yun源,则可通过yun源命令来安装wget. 如下所示: 2.yum安装yum -y install wget 即可安装:
- ASP.NET MVC布局
一.Views文件夹 -> Shared文件夹下的 _Layout.cshtml 母版页 @RenderBody 当创建基于_Layout.cshtml布局页面的视图时,视图的内容会和布局页面合 ...
- [转载]Linux目录说明
原作者博客: http://blog.51cto.com/yangrong/1288072 将文字部分转移到自己的目录下便于学习记录 感谢~ 2./目录 目录 描述 / 第一层次结构的根.整个文件系统 ...