Python常用字符串替换函数strip、replace及sub用法示例


Posted in Python onMay 21, 2018

本文实例讲述了Python常用字符串替换函数strip、replace及sub用法。分享给大家供大家参考,具体如下:

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

#!/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_list
  res_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_list1
  print res_list
  #使用re
  '''''
  re.sub()有5个参数,三个必选参数pattern,repl,string;两个可选参数count,flags
  re.sub(pattern,repl,string,count,flags)
  pattern:表示正则表达式中的模式字符串;
  repl:被替换的字符串,或者是一个方法(既可以是字符串,也可以是函数);
  当repl为字符串的时候,也就是需要 将string中与pattern匹配的字符串都替换成repl
  当repl为方法的时候,就必须是一个带有一个参数,且参数为MatchObject类型的方法,该方法需要返回一个字符串。
  string:要被处理的,要被替换的字符串;
  count:指的是最大的可以被替换的匹配到的字符串的个数,默认为0,就是所有匹配到的字符串。
  flgas:标志位
  '''
  str_list2=str_list
  res_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_list2
  print res_list
  #使用strip()
  '''''
  个人使用strip()很久了,感觉这个函数在一些事比如字符串末尾换行符去除等方面出奇的好用,
  它并不算是一个纯正意义上跟上面两个函数类似的字符串处理的函数,但是用于字符串尾部删除等方面的时候
  效果还是很不错的
  '''
  str_list3=str_list
  res_list=[]
  for one_str in str_list3:
    one_str=one_str.strip('!!!')
    res_list.append(one_str)
  print '**************strip替换结果为:*********************'
  print str_list3
  print res_list
str_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程序设计有所帮助。

Python 相关文章推荐
Python实现的一个找零钱的小程序代码分享
Aug 25 Python
简单学习Python多进程Multiprocessing
Aug 29 Python
python实现批量修改文件名代码
Sep 10 Python
浅谈python jieba分词模块的基本用法
Nov 09 Python
使用python将图片格式转换为ico格式的示例
Oct 22 Python
使用TensorFlow实现简单线性回归模型
Jul 19 Python
浅析Python语言自带的数据结构有哪些
Aug 27 Python
使用python实现数组、链表、队列、栈的方法
Dec 20 Python
基于python实现操作git过程代码解析
Jul 27 Python
python 开心网和豆瓣日记爬取的小爬虫
May 29 Python
Python3中最常用的5种线程锁实例总结
Jul 07 Python
python如何查找列表中元素的位置
May 30 Python
Python下使用Scrapy爬取网页内容的实例
May 21 #Python
python 每天如何定时启动爬虫任务(实现方法分享)
May 21 #Python
对python抓取需要登录网站数据的方法详解
May 21 #Python
深入浅析python 中的匿名函数
May 21 #Python
python3 selenium 切换窗口的几种方法小结
May 21 #Python
python selenium 对浏览器标签页进行关闭和切换的方法
May 21 #Python
pytorch cnn 识别手写的字实现自建图片数据
May 20 #Python
You might like
php基础学习之变量的使用
2011/06/09 PHP
PHP中使用Session配合Javascript实现文件上传进度条功能
2014/10/15 PHP
jquery获取tr中控件值并操作tr实现思路
2013/03/27 Javascript
jsonp原理及使用
2013/10/28 Javascript
button没写type=button会导致点击时提交
2014/03/06 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之绑定事件
2015/11/19 Javascript
深入浅析JavaScript函数前面的加号和叹号
2016/07/09 Javascript
基于JavaScript实现跳转提示页面
2016/09/24 Javascript
深入理解选择框脚本[推荐]
2016/12/13 Javascript
树结构之JavaScript
2017/01/24 Javascript
node.js程序作为服务并在windows下开机自启动(用forever)
2017/03/29 Javascript
鼠标拖动改变DIV等网页元素的大小的实现方法
2017/07/06 Javascript
解决vue 按钮多次点击重复提交数据问题
2018/05/10 Javascript
vue radio单选框,获取当前项(每一项)的value值操作
2020/09/10 Javascript
vue中activated的用法
2021/01/03 Vue.js
python使用post提交数据到远程url的方法
2015/04/29 Python
使用Python发送各种形式的邮件的方法汇总
2015/11/09 Python
python生成excel的实例代码
2017/11/08 Python
python3爬取各类天气信息
2018/02/24 Python
BP神经网络原理及Python实现代码
2018/12/18 Python
python3+django2开发一个简单的人员管理系统过程详解
2019/07/23 Python
Python3通过chmod修改目录或文件权限的方法示例
2020/06/08 Python
keras.utils.to_categorical和one hot格式解析
2020/07/02 Python
Python存储读取HDF5文件代码解析
2020/11/25 Python
世界领先的以旅馆为主的在线预订平台:Hostelworld
2016/10/09 全球购物
Myprotein意大利官网:欧洲第一运动营养品牌
2018/11/22 全球购物
官方授权图形T恤和服装:Fifth Sun
2019/06/12 全球购物
自荐书模板
2013/12/15 职场文书
中考标语大全
2014/06/05 职场文书
道路运输企业安全生产责任书
2014/07/28 职场文书
四风对照检查剖析材料
2014/10/07 职场文书
销售员未完成销售业绩的检讨书
2014/10/12 职场文书
2014年个人年终总结
2015/03/09 职场文书
创业计划书之干洗店
2019/09/10 职场文书
C#连接ORACLE出现乱码问题的解决方法
2021/10/05 Oracle
Windows Server 2022 超融合部署(图文教程)
2022/06/25 Servers