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提取网页中超链接的方法
Sep 18 Python
python用reduce和map把字符串转为数字的方法
Dec 19 Python
python日志记录模块实例及改进
Feb 12 Python
python+selenium识别验证码并登录的示例代码
Dec 21 Python
python 输出所有大小写字母的方法
Jan 02 Python
Python Matplotlib库安装与基本作图示例
Jan 09 Python
Python PIL图片添加字体的例子
Aug 22 Python
Django实现基于类的分页功能
Oct 31 Python
python线程信号量semaphore使用解析
Nov 30 Python
python tkinter 设置窗口大小不可缩放实例
Mar 04 Python
python实现图片素描效果
Sep 26 Python
python实现一个简单RPC框架的示例
Oct 28 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
我的论坛源代码(一)
2006/10/09 PHP
使用PHP遍历文件目录与清除目录中文件的实现详解
2013/06/24 PHP
Yii2框架中日志的使用方法分析
2017/05/22 PHP
作为PHP程序员你要知道的另外一种日志
2018/07/30 PHP
Laravel事件监听器用法实例分析
2019/03/12 PHP
js中关于new Object时传参的一些细节分析
2011/03/13 Javascript
JS中的异常处理方法分享
2013/12/22 Javascript
JavaScript中的DSL元编程介绍
2015/03/15 Javascript
全屏js头像上传插件源码高清版
2016/03/29 Javascript
JavaScript的Backbone.js框架环境搭建及Hellow world示例
2016/05/07 Javascript
Vue 2.x教程之基础API
2017/03/06 Javascript
JS获取当前地理位置的方法
2017/10/25 Javascript
element ui 对话框el-dialog关闭事件详解
2018/02/26 Javascript
vue源码学习之Object.defineProperty对象属性监听
2018/05/30 Javascript
jQuery实现的导航条点击后高亮显示功能示例
2019/03/04 jQuery
python3生成随机数实例
2014/10/20 Python
一文了解Python并发编程的工程实现方法
2019/05/31 Python
在linux下实现 python 监控usb设备信号
2019/07/03 Python
Django处理Ajax发送的Get请求代码详解
2019/07/29 Python
Python 读取用户指令和格式化打印实现解析
2019/09/02 Python
Django实现CAS+OAuth2的方法示例
2019/10/30 Python
Python编程快速上手——Excel表格创建乘法表案例分析
2020/02/28 Python
python实现从ftp服务器下载文件
2020/03/03 Python
canvas 阴影和图形变换的示例代码
2018/01/02 HTML / CSS
Vans澳大利亚官网:购买鞋子、服装及配件
2019/09/05 全球购物
法国在线药房:Shop Pharmacie
2019/11/26 全球购物
优秀毕业生自我鉴定
2014/01/19 职场文书
关于期中考试的反思
2014/02/02 职场文书
学生党员一帮一活动总结
2014/07/08 职场文书
运动会广播稿50字-100字
2014/10/11 职场文书
2014年综治维稳工作总结
2014/11/17 职场文书
辩护词范文大全
2015/05/21 职场文书
建筑工程催款函
2015/06/24 职场文书
放飞理想主题班会
2015/08/14 职场文书
MySQL时间设置注意事项的深入总结
2021/05/06 MySQL
详解Python描述符的工作原理
2021/06/11 Python