将一个字符串中的空格替换成“%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 ...
随机推荐
- C# 获取电脑MAC地址,IP地址,物理内存,CPU序列号,硬盘ID..........................
上班很忙,自己做个记录 代码如下: 需要引入:System.Management 代码如下: using System; using System.Collections.Generic; using ...
- Oracle 社区动态、中文讲座,最佳实践
https://community.oracle.com/thread/3789691https://community.oracle.com/community/support/%E4%B8%AD% ...
- Sql_索引分析
「索引就像书的目录, 通过书的目录就准确的定位到了书籍具体的内容」,这句话描述的非常正确, 但就像脱了裤子放屁,说了跟没说一样,通过目录查找书的内容自然是要比一页一页的翻书找来的快,同样使用的索引的人 ...
- cookie详解(含vue-cookie)
今天看到一篇cookie的文章,写的特别详细,感谢 晚晴幽草轩 的分享,原文链接http://mp.weixin.qq.com/s/NXrH7R8y2Dqxs9Ekm0u33w 原文如下,记录到此供以 ...
- oracle ocp视频教程笔记
show parameter user user_dump_dest string /u01/app/oracle/diag/rdbms/orcl/orcl/trace oracle日志存放位置d ...
- github的使用心得
我的github地址:https://github.com/gaino1/test GitHub 是一个用于使用Git版本控制系统的项目的基于互联网的存取服务. GitHub可以托管各种git库,并提 ...
- 20150409作业3 阅读《构建之法》1-5章 (Update:2015-04-16
以下是我看<构建之法>1-5章列出来的知识点和一些自己对部分知识的理解以及一些吐槽...和感受 1.1 软件 = 程序 + 软件工程 (软件工程 = 软件 - 程序(我知道软件是什么,也知 ...
- 第三个Sprint冲刺第四天(燃尽图)
- B树,B+树,红黑树应用场景AVL树,红黑树,B树,B+树,Trie树
B B+运用在file system database这类持续存储结构,同样能保持lon(n)的插入与查询,也需要额外的平衡调节.像mysql的数据库定义是可以指定B+ 索引还是hash索引. C++ ...
- python排序
排序算法概览 归并排序的 空间复杂度为O(n) 插入排序 基本思想是每次讲一个待排序的记录,按其关键字大小插入到前面已拍好的子序列中,直到全部完成. 直接插入排序 讲元素L(i)插入到有序序列L[1, ...