Fork me on GitHub

 

前记:

 

  python是一个非常好用的语言,能够帮忙处理很多日常的耗费体力的事情。今天做一个脚本的时候,遇到了python替换的问题,这里就梳理一下知识点吧。

 

概念:

 

1.replace()

 

基本用法:对象.replace(rgExp,replaceText,max)

其中,rgExp和replaceText是必须要有的,max是可选的参数,可以不加。
rgExp是指 String 对象或文字;replaceText是一个String 对象或字符串文字;max是一个数字。对于一个对象,在对象的每个rgExp都替换成replaceText,从左到右最多max次。

 

2. re.sub

 

re.sub()有5个函数,三个必选参数pattern,repl,string;两个可选参数count,flags

re.sub(pattern,repl,string,count)

pattern:表示正则表达式中的模式字符串;

repl:被替换的字符串(既可以是字符串,也可以是函数);

string:要被处理的,要被替换的字符串;

count:匹配的次数

 

3.strip()

 

strip()并不是一个真正意义上的替换函数,它是用来删除一些字符的,所以我们可以把这看作是把字符串中的一些字符替换成空(不是空格,是空。)

某些场景,strip()用起来很方便。

 

实例:

 

bytes是python中最常用的最基本的数据,这里给出一个基于bytes的实例分析:

 

1 replace实例:

 

byte=b'\x01\x02\n\x03\x04\r\x05\x06'

data=byte.replace(b'\n',b'')
print("data is:")
print(data)

data1=data.replace(b'\r',b'')
print("data1 is:")
print(data1)

 输出结果:

data is:
b'\x01\x02\x03\x04\r\x05\x06'
data1 is:
b'\x01\x02\x03\x04\x05\x06'

 

2 re.sub实例

实例:

import re

byte=b'\x01\x02\n\x03\x04\r\x05\x06\n'

data=re.sub(b'\n',b'',byte)
print("data is:")
print(data)

data1=re.sub(b'\r',b'',data)
print("data1 is:")
print(data1)

 

输出结果:

同上

3 strip()实例

byte=b'\n\x01\x02\n\x03\x04\r\x05\x06\r'

data=byte.strip(b'\n')
print("data is:")
print(data)

data1=data.strip(b'\r')
print("data1 is:")
print(data1)
~                   

 输出结果:

data is:
b'\x01\x02\n\x03\x04\r\x05\x06\r'
data1 is:
b'\x01\x02\n\x03\x04\r\x05\x06'

 

这里可以看出,strip同时去掉左右两边的过滤条件,中间的不会被删除,这个要注意一下。

 

总结:

  总结一下,下次就不会忘记了。

 

posted on 2020-11-20 14:10  虚生  阅读(574)  评论(0编辑  收藏  举报