Python——字符串格式化与字符串操作
2016-10-03 19:25
351 查看
一、字符串格式化使用字符串格式化操作符%实现,格式化操作符的右操作数可以是元组或者映射类型。如果右操作数是元组,其中每一个元素都会被单独格式化,而且每个值都需要一个对应的转换说明符。
基本的转换说明符包括:
(1) %字符:标记转换说明符的开始位置;
(2) 转换标志(可选):-表示左对齐,+表示在转换之前加上正负号,“”空格字符表示在正数之前保留空格,0表示转换值若位数不够则用0进行填充;
(3) 最小字段宽度(可选):转换后的字符串应该占的宽度,如果是*则宽度从元组值中读出;
(4) 点(.)后面跟精度值(可选):如果转换的右操作数是实数,精度表示小数点后面的位数,如果是字符串,则表示最大字段宽度,如果是*号,精度从元组中读出;
(5) 转换类型:字符串格式化转换类型。
1.1 简单格式化操作:
1.2 指定字符串宽度和精度:
1.3 符号、对齐、0填充
2 字符串方法:
2.1 find函数:查找子串,找到返回子串所在的最左端索引位置,否则返回-1
find函数可以指定查找的区间范围
2.2 join函数:在队列中添加元素
2.3 lower函数:返回字符串的小写字幕版
2.4 replace函数:返回所有匹配项被替换后的字符串
2.5 split函数:字符串分割成序列
2.6 strip函数:返回去除两侧(不包括内部)空格后的字符串,也可以指定去除的字符
2.7 translate函数:类似于replace函数,不同的是translate函数只处理单个字符,但是translate函数可以同时进行多个替换。在使用translate函数前,需要准备一张转换表,转换表表示以某字符替换某字符的对应关系。转换表可以使用string模块里的maketrans函数。‘
基本的转换说明符包括:
(1) %字符:标记转换说明符的开始位置;
(2) 转换标志(可选):-表示左对齐,+表示在转换之前加上正负号,“”空格字符表示在正数之前保留空格,0表示转换值若位数不够则用0进行填充;
(3) 最小字段宽度(可选):转换后的字符串应该占的宽度,如果是*则宽度从元组值中读出;
(4) 点(.)后面跟精度值(可选):如果转换的右操作数是实数,精度表示小数点后面的位数,如果是字符串,则表示最大字段宽度,如果是*号,精度从元组中读出;
(5) 转换类型:字符串格式化转换类型。
1.1 简单格式化操作:
x= "Hello,%s" y='Python' print x%y test="%d+%d" data=(1,1) print test%data 运算结果: =========RESTART:C:\Users\Mr_Deng\Desktop\3.py========= Hello,Python 1+1 >>>
1.2 指定字符串宽度和精度:
from math import pi x='pi=%20f' y=x%pi print y z='pi=%10.10f' w=z%pi print w 运算结果: =========RESTART:C:\Users\Mr_Deng\Desktop\3.py========= pi= 3.141593 pi=3.1415926536 >>>
1.3 符号、对齐、0填充
#_*_ coding:utf-8 _*_ from math import pi print u'用0填充:' print 'pi=%020.6f' % pi print '\n' print u'-左对齐:' print 'pi=%-10.2f' % pi print '\n' print u'空白字符:正数前加上空格' print ('% 5d' %20) + '\n' + ('% 5d' %-20) print '\n' print u'+号:显示正负号' print ('%+5d' %20) + '\n' + ('%+5d' %-20) 运行结果: =========RESTART:C:\Users\Mr_Deng\Desktop\3.py========= 用0填充: pi=0000000000003.141593 -左对齐: pi=3.14 空白字符:正数前加上空格 20 -20 +号:显示正负号 +20 -20 >>>
2 字符串方法:
2.1 find函数:查找子串,找到返回子串所在的最左端索引位置,否则返回-1
#_*_ coding:utf-8 _*_ x='C C++ Python PHP' print x.find('Python') print x.find('Java') 运行结果: =========RESTART:C:\Users\Mr_Deng\Desktop\3.py========= 6 -1 >>>
find函数可以指定查找的区间范围
#_*_ coding:utf-8 _*_ x='C C++ Python PHP' print u'只提供查找的起点' print x.find('Python',8) print u'提供起点和结束点' print x.find('C++',2,5) 运行结果: =========RESTART:C:\Users\Mr_Deng\Desktop\3.py========= 只提供查找的起点 -1 提供起点和结束点 2 >>>
2.2 join函数:在队列中添加元素
#_*_ coding:utf-8 _*_ dirs=('','usr','bin','env') print dirs print 'C:'+'\\'.join(dirs) 运算结果: =========RESTART:C:\Users\Mr_Deng\Desktop\3.py========= ('', 'usr', 'bin', 'env') C:\usr\bin\env >>>
2.3 lower函数:返回字符串的小写字幕版
#_*_ coding:utf-8 _*_ name='Kenan' ss=['xinyi','kenan','bob'] if name.lower() in ss : print 'found!' 运算结果: =========RESTART:C:\Users\Mr_Deng\Desktop\3.py========= found! >>>
2.4 replace函数:返回所有匹配项被替换后的字符串
#_*_ coding:utf-8 _*_ test='This is an test case:test' print test.replace('test','yes') 运算结果: =========RESTART:C:\Users\Mr_Deng\Desktop\3.py========= This is an yes case:yes >>>
2.5 split函数:字符串分割成序列
#_*_ coding:utf-8 _*_ test='1+2+3+4+5' print test.split('+') 运算结果: =========RESTART:C:\Users\Mr_Deng\Desktop\3.py========= ['1', '2', '3', '4', '5'] >>>
2.6 strip函数:返回去除两侧(不包括内部)空格后的字符串,也可以指定去除的字符
#_*_ coding:utf-8 _*_ test=' 1+2+3+4+5 ' print u'原始序列:'+test test=test.strip() print u'去除空格:'+test test=test.strip('5') print u'去除\'5\':'+test 运算结果: =========RESTART:C:\Users\Mr_Deng\Desktop\3.py========= 原始序列: 1+2+3+4+5 去除空格:1+2+3+4+5 去除'5':1+2+3+4+ >>>
2.7 translate函数:类似于replace函数,不同的是translate函数只处理单个字符,但是translate函数可以同时进行多个替换。在使用translate函数前,需要准备一张转换表,转换表表示以某字符替换某字符的对应关系。转换表可以使用string模块里的maketrans函数。‘
#_*_ coding:utf-8 _*_ from string import maketrans table=maketrans('123','abc') x='123456123' print x.translate(table) 运算结果: =========RESTART:C:\Users\Mr_Deng\Desktop\3.py========= abc456abc >>>
相关文章推荐
- python里的字符串常用内置方法和格式化操作
- Python基础教程代码与注释P44 3.1 基本字符串操作 3.2 字符串格式化:精简版
- python字符串操作(连接、比较、格式化等)
- python字符串的格式化操作
- python字符串操作(连接、比较、格式化等)
- Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】[原创]_python_脚本之家
- python字符串操作(连接、比较、格式化等)(转)
- Python 基础 - 6 字符串(str)2 - 子字符串操作和字符串格式化
- 第二天 Python3.4.2 字符串的格式化 和 常用操作
- python字符串格式化输出及相关操作代码举例
- python 堆、队列操作、字符串格式化输出、字符串常用函数 示例代码
- python 的百分号格式化字符串操作, 易报编码错
- Python字符串格式化
- Python字符串操作的性能测试
- 格式化字符串操作
- Python学习笔记七:字符串的操作(一)
- python基础5--文件操作--字符串读写
- C# 格式化字符串,日期,字符串操作汇总
- python31格式化字符串
- Python字符串操作