python cookbook 读书笔记3(字符串处理3)
来源:互联网 发布:浙江蜗牛网络 编辑:程序博客网 时间:2024/06/05 03:41
1.11检查字符串是文本还是二进制,这个还可以用做别的,但是思路都一样。
>>> from __future__ import division#确保不会截断
>>> import string
>>> text_characters=''.join(map(chr,range(32,127)))+'\n\r\t\b'
>>> _null_trans=string.maketrans('','')
>>> def istext(s,text_characters=text_characters,threshold=0.30):
... if '\0' in s:#如果包含空值,不是文本
... return False
... if not s:#如果是空字符串是文本
... return True
... t=s.translate(_null_trans,text_characters)#获得由非文本构成的子串,如果长度大于30%就不是文本
... return len(t)/len(s)<=threshold
1.12控制大小写,字符串的大小写可以用切片控制大小写,也可以用一些内置函数
>>> a='you are a pig'
>>> a.capitalize()
'You are a pig'
>>> a.title()
'You Are A Pig'
>>> a[:1].upper()+a[1:].lower()
'You are a pig'
作者给出了一个判断开头是否大写的方法,因为不含字母或者空字符串都是字符串,但是开头无大写,所以要判断字符串是否含字母。个人认为此处不对,因为含字母不一定是以字母开头,所以此判断不对。正确的应先检测开头是不是字母,再判断是不是开头大写。
>>> import string
>>> notrans=string.maketrans('','')
>>> def containsAny(str,strset):
... return len(strset)!=len(strset.translate(notrans,str))
...
>>> def iscapitalized(s):
... return s==s.capitalize() and containsAny(s,string.letters)
...
1.14改变多行文本字符串的缩进,下面这个函数可以让每行保持相同的缩进,更多对格式处理的函数请参考这节。
>>> def reindent(s,numSpaces):
... leading_space=numSpaces * ' '
... lines=[leading_space+ine.strip() for line in s.splitlines()]
... return '\n'.join(lines)
1.15扩展和压缩制表符,使用expandtabs()可以将制表符扩展为一些空格
1.16替换字符串中的子串
至此,发现看书都是python2的,因为替换子串可以用replace方法,所以接下来决定从新开始看python3.
- python cookbook 读书笔记3(字符串处理3)
- python cookbook 读书笔记1(字符串处理1)
- python cookbook 读书笔记2(字符串处理2)
- python数据类型(python cookbook读书笔记一)
- 处理数字--cookbook读书笔记
- 处理日期--cookbook读书笔记
- python cookbook读书笔记二
- python cookbook读书笔记
- python cookbook 3rd
- 字符串的匹配--cookbook读书笔记
- python 探索(三) Python CookBook 文本处理 笔记
- python技巧(3)--python cookbook学习笔记
- 字符串的其它注意事项--cookbook读书笔记
- 《Python Testing Cookbook》读书笔记之一:单元测试
- python cookbook(1)
- Node Cookbook 3rd-Packt Publishing 2017 读书笔记
- Python Cookbook 第二版 汉化版 [Recipe 1.1] 逐个处理字符串中的各个字符
- Python Cookbook 第二版 汉化版 [Recipe 1.1] 逐个处理字符串中的各个字符
- 安卓开发者必备的42个链接
- dplyr: R Language
- 进行回转体挠度方面的动态模拟RotorInsa.v3.4.2有限元软件
- 十大技术类公众微信号地址
- Frying Hamburgers的问题
- python cookbook 读书笔记3(字符串处理3)
- 运筹帷幄?
- ant修改文件中的内容
- 多功能GIS软件系统 好用PCI Geomatica 9.1
- Ubuntu 安装 Chromium
- Linux内核学习总结
- nginx "%*s" 格式化输出日志乱码问题
- hiho 1082 : 然而沼跃鱼早就看穿了一切
- GDB 常用调试命令