今天在做一道今年秋季招聘题目的时候遇上了一个替换的问题,题目看起来好长好复杂啊,真的,一时间,我看了好几遍也没看懂,其实实质很简单,就是需要把给定的一个字符串里面的指定字符替换成一些指定的内容就行了,这样首选当然是字典了,没有之一,题目很简单就不写出来了,在这里花了一点时间专门总结了一下字符串的替换的几个常用的函数,希望也能帮到有需要的人,自己也是当做一个学习的记录,好了,在这里就不多说什么了,在代码中该说的都说了,直接看程序:

#!/usr/bin/env python
# coding:utf-8
import re'''
功能:对常见的几种字符串处理函数进行测试使用学习
Author:沂水寒城
'''def str_test():str_list=['We are family!!!', '00 11 22 33 44 55 66 77 88 99','Trouble is a friend!!!Trouble is a friend!!!', 'LoveLoveLove']str_dict={'!!!':'$$$',' ':'@','T':'t','L':'&'}#使用replace'''基本用法:对象.replace(rgExp,replaceText,max)rgExp和replaceText是必须要有的,max是可选的参数'''str_list1=str_listres_list=[]for one_str in str_list1:for key in str_dict:one_str = one_str.replace(key, str_dict[key])res_list.append(one_str)print '**************replace替换结果为:*********************'print str_list1print res_list#使用re'''re.sub()有5个参数,三个必选参数pattern,repl,string;两个可选参数count,flagsre.sub(pattern,repl,string,count,flags)pattern:表示正则表达式中的模式字符串;repl:被替换的字符串,或者是一个方法(既可以是字符串,也可以是函数);当repl为字符串的时候,也就是需要 将string中与pattern匹配的字符串都替换成repl当repl为方法的时候,就必须是一个带有一个参数,且参数为MatchObject类型的方法,该方法需要返回一个字符串。 string:要被处理的,要被替换的字符串;count:指的是最大的可以被替换的匹配到的字符串的个数,默认为0,就是所有匹配到的字符串。 flgas:标志位'''str_list2=str_listres_list=[]pattern_rule=re.compile(r'!!!')for one_str in str_list2:one_str = re.sub(pattern_rule, '$$$', one_str)res_list.append(one_str)print '**************sub替换结果为:*********************'print str_list2print res_list#使用strip()'''个人使用strip()很久了,感觉这个函数在一些事比如字符串末尾换行符去除等方面出奇的好用,它并不算是一个纯正意义上跟上面两个函数类似的字符串处理的函数,但是用于字符串尾部删除等方面的时候效果还是很不错的'''str_list3=str_listres_list=[]for one_str in str_list3:one_str=one_str.strip('!!!')res_list.append(one_str)print '**************strip替换结果为:*********************'print str_list3print res_liststr_test()


结果如些下:

**************replace替换结果为:*********************
['We are family!!!', '00 11 22 33 44 55 66 77 88 99', 'Trouble is a friend!!!Trouble is a friend!!!', 'LoveLoveLove']
['We@are@family$$$', '00@11@22@33@44@55@66@77@88@99', 'trouble@is@a@friend$$$trouble@is@a@friend$$$', '&ove&ove&ove']
**************sub替换结果为:*********************
['We are family!!!', '00 11 22 33 44 55 66 77 88 99', 'Trouble is a friend!!!Trouble is a friend!!!', 'LoveLoveLove']
['We are family$$$', '00 11 22 33 44 55 66 77 88 99', 'Trouble is a friend$$$Trouble is a friend$$$', 'LoveLoveLove']
**************strip替换结果为:*********************
['We are family!!!', '00 11 22 33 44 55 66 77 88 99', 'Trouble is a friend!!!Trouble is a friend!!!', 'LoveLoveLove']
['We are family', '00 11 22 33 44 55 66 77 88 99', 'Trouble is a friend!!!Trouble is a friend', 'LoveLoveLove']

    这些东西应该算得上是很顺手的小工具了,特别是在一些应用中能起到四两拨千斤的作用,也许是夸张了哈,但是就是很喜欢这几个小工具,所以就写出来分享一下,不足之处还望多多指教,大家共同学习共同进步!

python常用的几种字符串替换函数strip、replace、sub相关推荐

  1. 常用的8种字符串处理函数

    1.puts函数--输出字符串的函数 一般形式:puts (字符数组) 作用:将一个字符串(以'\0'结束的字符序列)输出到终端: 用puts函数输出的字符串中可以包含转义字符 #include &l ...

  2. 【吐血整理】Python 常用的几种高阶函数和简单的迭代函数

    目录 一.all() 函数--判断可迭代对象中的元素是否全为True 二.any() 函数--判断可迭代对象是否全为假值 三.filter() 函数--通过指定条件过滤序列 四.map() 函数--- ...

  3. Sybase中字符串替换函数 STR REPLACE

    用法: SELECT STR_REPLACE("abc99922defg121212hicde","a","") 不过,好像不支持正则表达式 ...

  4. JS字符串替换函数全部替换方法

    JS字符串替换函数全部替换方法 正则表达式浏览器HTML  JS字符串替换函数:Replace("字符串1″, "字符串2″), 1.我们都知道JS中字符串替换函数是Replace ...

  5. java字符替换函数示例_Java字符串替换函数replace()用法解析

    Java字符串替换函数replace()用法解析 这篇文章主要介绍了Java字符串替换函数replace()用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的 ...

  6. PHP字符串替换函数strtr()的功能实现讲解

    我们今天要向大家讲的内容是有关PHP字符串替换函数strtr()的相关介绍.对于初学者来说,对于PHP字符串替换函数strtr()的了解还比较浅显,希望通过本文介绍的内容能够让大家深入了解这个函数的具 ...

  7. JavaScript常用的几种字符串方法

    JavaScript常用的几种字符串方法 字符串是一种只读数据,只能查 常用的几种字符串方法: 1.charAt:根据指定的下标获取到对应的字符; 2.charCodeAt:根据指定的下标获取到字符对 ...

  8. php 字符串替换函数,php字符串替换函数str-replace速度比preg-replace快

    php字符串替换函数str-replace速度比preg-replace快 在选择函数的时候,我们都会优先选择执行速度快的函数,下面是小编整理的php字符串替换函数str_replace与preg_r ...

  9. linux c中字符替换函数,Linux C 支持正则表达式的字符串替换函数

    [root@localhost src]# cat a.c /** * Linux C 支持正则表达式的字符串替换函数 * * Author: cnscn@163.com * Homepage: ww ...

  10. python 常用的几种定位方式

    Python常用的几种定位方法 一,python 常用的8种定位方法1,使用 ID定位 driver.find_element_by _id('ID 值')driver.find_element(by ...

最新文章

  1. 解决delphi10.2.3 android tools闪退
  2. Linux虚拟机安装及与宿主机相互通信
  3. Python基础day04【字典(介绍、定义与访问、操作数据、常见操作)】
  4. C语言实现顺序栈心得
  5. java lwjgl3_java-LWJGL 3鼠标移动
  6. iphone降级_ios14.2怎么降级到14.1_ios14.2降级14.1方法一览
  7. 二分答案——小车问题(洛谷 P1258)
  8. 远程桌面和云主机,可以听到云主机内部的声音
  9. Delphi 实现数字转大写
  10. 商业计划书的完整结构
  11. (网络)网络层:IP协议解析、地址管理(IP地址、子网掩码)、路由选择
  12. 老男孩网络安全2021
  13. IMU使用系列------imu_tools验证数据是否准确及安装是否准确
  14. 使用Godaddy的API批量修改域名的NameServers,指向CloudFlare的NS,享受免费的抗DDOS保护!
  15. 面试java项目中解决了什么问题,附源代码
  16. 【游戏开发实战】Unity使用ShaderGraph配合粒子系统,制作子弹拖尾特效(Fate/stay night金闪闪的大招效果)
  17. 超强反爬虫方案!Requests 什么的通通爬不了
  18. 巴比特 | 元宇宙每日必读:杭州亚运会组委会将发售“亚运在中国”系列数字藏品;“戏曲元宇宙”戏曲元宇宙”是啥?怎么建?...
  19. [药品飞检]六大部门检查要点(38个子项目)
  20. Python实现GeoHash算法

热门文章

  1. TensorFlow(二) 用TensorFlow为线性回归算法实现矩阵分解
  2. 【.Net】win10 uwp unix timestamp 时间戳 转 DateTime
  3. solr4.2增量索引之同步(修改,删除,新增)
  4. AI时代,运维和测试岗位如何开启第二春?
  5. 将 instance 连接到 second_local_net - 每天5分钟玩转 OpenStack(85)
  6. NSObject的load和initialize方法(转)
  7. BZOJ4435 : [Cerc2015]Juice Junctions
  8. 数据结构 - 字符串的模式匹配
  9. 08Oracle Database 完整性约束
  10. 6.旋转数组的最小数字