Python常用字符串替换函数strip、replace及sub用法示例
作者:Together_CZ 发布时间:2022-04-07 18:21:17
本文实例讲述了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程序设计有所帮助。
来源:https://blog.csdn.net/together_cz/article/details/70172083
猜你喜欢
- 在使用pip安装Tensorflow后,在其目录中没有找到model目录,重复安装了两遍依然没有,原因未知。于是,使用源码安装的方法:(1)
- 前段时间在论坛上有人问到一个淘宝网上的hover伪类实现的效果如果兼容ie6。其实,问题很简单,就是hover伪类在IE6中得不到很好的支持
- 一、 Scott用户下的表结构SCOTT。是在Oracle数据库中,一个示例用户的名称。其作用是为初学者提供一些简单的应用示例,不过其默认是
- javascript动画效果 打开层/关闭层:运行代码框<!DOCTYPE html PUBLIC "-//W3C//DTD
- 安装环境:python版本2.7.5 ,win7系统安装Djangohttps://www.djangoproject.com/downlo
- 前言本文主要介绍了关于Python中TCP socket的写法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。一、 服务器
- 代码如下:<input name="file" type="file"> formsiz
- 可以通过 reflect.DeepEqual 比较两个 slice/struct/map 是否相等:package main import
- 1、程序执行代码:#Author by Andy#_*_ coding:utf-8 _*_import os,sys,timeBase_di
- 一、QQ邮箱SSL发送获取qq授权码ssl发送方式不是使用邮箱密码,而是需要授权码,具体步骤如下:登录发送人qq邮箱>>设置&g
- 无限循环如果条件判断语句永远为 true,循环将会无限的执行下去。如下实例#!/usr/bin/python# -*- coding: UT
- 编程中有时候需要一个初始极大值(或极小值)作为temp,当然可以自定义设置为10000(whatever),不过python中有一个值可以代
- 今天处理了一个日期选择器的ie和ff的兼容问题,本来这种情况就很难找错误,找了好久才把错误定位到js中创建元素的方法document.cre
- 进行访问MySQL数据库的方法有很多种,下面将向大家介绍一些很简单实用的用的方法和示例与大家一起分享。方法一:使用MYSQL推出的MySQL
- 网上考试设计思路是怎样的?为了运行这个应用程序,我们需要在global.asa文件里进行设置数据库的连接。global.asa <&n
- 生产系统随着业务增长总会经历一个业务量由小变大的过程,可扩展性是考量数据库系统高可用性的一个重要指标;在单表/数据库数据量过大,更新量不断飙
- 1、问题现象:有个网站是通过session验证的,前端时间访问正常,但近期后台session老是失效很快,根本没法操作,我设置timeout
- 概述今天我们要来做一个进阶的花分类问题. 不同于之前做过的鸢尾花, 这次我们会分析 102 中不同的花. 是不是很上头呀.预处理导包常规操作
- 1.执行cmd命令,不显示执行过程中弹出的黑框def run_cmd( cmd_str='', echo_print=1):
- 实现代码如下:# -*- coding: utf-8 -*-import math, random,timeimport threading