将一个字符串中的空格替换成“%20”(C、Python)
将一个字符串中的空格替换成“%20”
C语言:
1 /* 2 ----------------------------------- 3 通过函数调用,传地址来操作字符串 4 1.先计算出替换后的字符串的长度 5 2.从字符串最后一个字符串开始往右移 6 ----------------------------------- 7 */ 8 9 10 # include <stdio.h> 11 # include <string.h> 12 13 void replace(char * arr) 14 { 15 int i, j, len, count; 16 count = 0; 17 len = strlen(arr); 18 19 for (i=0; i<len; i++) 20 { 21 if (arr[i] == ' ') 22 { 23 count++; 24 } 25 } 26 27 i = len; 28 j = 2 * count + len; //每一个空格用三个字符替换,所以相当于每个空格多2个字符; 29 printf("处理前的字符串为:%s\n", arr); 30 31 while (i!=j && i>=0) 32 { 33 if (arr[i] == ' ') 34 { 35 arr[j--] = '0'; 36 arr[j--] = '2'; 37 arr[j--] = '%'; 38 i--; 39 } 40 else 41 { 42 arr[j] = arr[i]; //第一次替换的是字符串的结束符'\0' 43 j--; 44 i--; 45 } 46 } 47 printf("处理后的字符串为:%s\n", arr); 48 } 49 50 int main(void) 51 { 52 char str[] = "We Are Happy."; 53 replace(str); 54 55 return 0; 56 } 57 58 /* 59 在Vc++6.0中的输出结果为: 60 ----------------------------------- 61 处理前的字符串为:We Are Happy. 62 处理后的字符串为:We%20Are%20Happy. 63 Press any key to continue 64 ----------------------------------- 65 */
另外,在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)
__EOF__
![微信:ren168632201](https://files-cdn.cnblogs.com/files/uncleyong/wx.bmp)
本文作者:持之以恒(韧)
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!