python 字符串处理
进制转换 / 编码转换
- hex, 十进制->十六进制字符串
- oct, 十进制->八进制字符串
- oct, 十进制->八进制字符串
- chr, 十进制->ASCII码字符
- unichr, 十进制->unicode编码
- ord, ascii码/unicode编码->十进制
- binascii, 字符串<->字节流
- struct, 字符串<->字节流
- struct中的 fmt 详解
- str.decode / str.encode, 基于unicode的编码转换
- Standard Encodings, python支持的编码表
- 常用的有
hex
,utf-8
,unicode_escape
- 常用的有
- python字符串编码及乱码解决方案
- 解释了unicode与str在python2.7 和 python3下的区别.
str.decode
和str.encode
的含义 - python2.7, 默认str编码为ascii, 需要使用
s=u"人生苦短"
来表示unicode编码字符串(便于跨平台统一) - 终极原则: decode early, unicode everywhere, encode late
- 解释了unicode与str在python2.7 和 python3下的区别.
- 更多的python内置函数如下
- int(x [,base ]), 将x转换为一个整数
- long(x [,base ]), 将x转换为一个长整数
- float(x), 将x转换到一个浮点数
- complex(real [,imag ]), 创建一个复数
- str(x) , 将对象 x 转换为字符串
- repr(x), 将对象 x 转换为表达式字符串
- eval(str), 用来计算在字符串中的有效Python表达式,并返回一个对象
- tuple(s), 将序列 s 转换为一个元组
- list(s), 将序列 s 转换为一个列表
十进制<->十六进制字符串
hex(255) |
二进制字符串<->十六进制字符串
bin(int('0xff', 16)) |
十进制<->unicode字符串<->utf8编码
u'ñ' # u表示使用unicode编码存储. c = |
字节流<->整数
# 使用 struct |
几个实用的例子
- 去掉字符串中的跳脱符, 生成标准的unicode字符串
u'\\u4f60\\u4f60'.decode('unicode_escape') |
- 解码16进制字符串:也可以直接 print 出来
'\xd1\xee\xba\xea\xc1\xc1\n' b= |
- bin <-> ascii
# 字符串->ASCII编码串 |
字符串<->数值/列表/字典
字符串<->数值
- int(x [,base ]), 将x转换为一个整数
- long(x [,base ]), 将x转换为一个长整数
- float(x), 将x转换到一个浮点数
- 使用re正则表达式, 实用范例
import re |
字符串->列表/字典 (去掉引号)
- eval(), 将str当成有效的表达式来求值并返回计算结果. 在确保str源安全的情况下可用.
- ast.literal_eval(), eval的替代品, 更安全
# 字符串->列表 |
字符串<->列表
- str.join(), 列表->字符串
- str.split(), 字符串->列表
# 字符串->列表 |
字符串操作
操作基础
# 去前后空格及特殊符号 |
查看手册及高阶使用
- cookbook-第二章:字符串和文本, 实用范例
- 2.1 使用多个界定符分割字符串, split(), re.split()
- 2.2 字符串开头或结尾匹配, startswith(), endswith()
- 2.3 用Shell通配符匹配字符串, fnmatch(), fnmatchcase()
- 2.4 字符串匹配和搜索, find(), findall(), match(), re.match()
- 2.5 字符串搜索和替换, replace(), re.sub()
- 2.6 字符串忽略大小写的搜索替换, re.IGNORECASE
- 2.7 最短匹配模式, 解决成对符号的问题, 避免贪婪算法
- 2.8 多行匹配模式, 解决回车换行的问题
- 2.9 将Unicode文本标准化
- 2.10 在正则式中使用Unicode
- 2.11 删除字符串中不需要的字符, strip(), replace(), re.sub()
- 2.12 审查清理文本字符串
- 2.13 字符串对齐, ljust(), rjust(), center(), format()
- 2.14 合并拼接字符串, join()
- 2.15 字符串中插入变量, format()的高阶使用
- 2.16 以指定列宽格式化字符串, textwrap
- 2.17 在字符串中处理html和xml
2.18 字符串令牌解析, 语法的解析2.19 实现一个简单的递归下降分析器, 语法的解析2.20 字节字符串上的字符串操作, bytearray
- String Methods, string提供的方法/函数
- String Formatting Operations, 格式化显示, 建议使用format替代
- string — Common string operations, python官方手册之字符串操作
- String constants, 字符串常量, 如字母, 数字
- Format examples, 格式化显示
Template strings, 模板显示, 建议使用format代替.
使用正则表达式的一些例子
# 去掉所有的空格和tab |
原创于 DRA&PHO