首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

【python学习】文本处理之-translate

2011-09-15 看cookbook 看到很神奇的string.translate 函数 可以剔除字符串中你不需要的串,并可做 maketrans映射 将一些字符,映射成另外的字符,目前还没想到应用场景...translator(frm='', to='', delete='', keep=None): if len(to) == 1: to = to * len(frm) trans = string.maketrans...(frm, to) if keep is not None: allchars = string.maketrans('', '') delete = allchars.translate(allchars...走进 lib/string.py 看源代码,才明白 ,maketrans结果是返回一个256bytes长度的字符串,而不是from to都为空时的空串,windows下竟然什么都打印不出来,害我跟踪了大半天...trans = string.maketrans(frm, to) 获得原始的256字节字符串, 然后找到keep和delete的差集作为保留值,最后得出需要保留的串,将原始字符串解释为需要值。

85140

Python:字符串函数

word = 'this is a test' >>> word.replace('is', 'eez') 'theez eez a test' >>> word 'this is a test' maketrans...函数:功能同上,string中的转换表,共有256个项目,函数接受2个等长的字符串,第一个字符串中的每个字符都用第二个字符串中相应位置的字符来进行替换 maketrans类似于一种规则,经常与translate...结合,以完成一些普通函数无法完成的字符串替换 >>> from string import maketrans >>> table = maketrans('cs', 'kz') >>> len(...table) 256 >>> table[97:123] 'abkdefghijklmnopqrztuvwxyz' >>> maketrans('','')[97:123] 'abcdefghijklmnopqrstuvwxyz...' translate函数:功能同上,但是只能处理单个字符,有2个参数,第一个是替换,第二个是删除 例:table承继maketrans中的table >>> 'this is an

40710

34.Python字符串替换方法translate

>>> t= r"刘备是一个人的名字,刘备是一个英雄" >>> map=str.maketrans("刘备","张飞") >>> map {21016: 24352, 22791: 39134} >>>...上面的示例代码中我们使用了字符串类str的方法maketrans,它需要两个长度相同的字符串作为参数。...上面用到的字符串类str的方法maketrans还可以传入可选的第三个参数,这个参数指定了我们可以删除的字符。...如下代码所示,其实方法maketrans的第三个参数还是利用了字典,只是将我们想删除的字符映射到了None。当然我们可以自己定义转换表字典,来设置我们要替换的字符,以及我们想要删除的字符。...>>> map=str.maketrans("刘备","张飞",",") >>> map {21016: 24352, 22791: 39134, 44: None} 通过本文我们介绍了对字符串进行替换的两种方法

3.2K10

Python3字符串替换replace(),translate(),re.sub()

与replace() 函数不同的是,这里使用str.maketrans函数来创建一个表,它可以使用各种参数,但是需要三个Arguments。...str.maketrans('','',del) 第一个参数为被替换的字符,第二个参数为替换的字符,第三个参数为要删除的字符 import string a = 'Hello,world....remove = string.punctuation table = str.maketrans('abcdefgh','01234567',remove) print(a.translate(table...)) H4lloworl3 By4By4 string.punctuation返回所有的标点符号,更多字符串常量如下图: str.maketrans()的前两个参数相当于一个映射表,如上述结果,所有的...'e'被替换成了'4' 第三个参数为要删除的字符,上述例子删除了所有的标点符号,如果要删除的字符还要加上空格的话,则可以这样: table = str.maketrans('abcdefgh','01234567

1.2K10
领券