#!/usr/bin/env python #-*- coding:UTF-8 -*- ##################################################### # Author: sunfx xingrhce@163.com # Last modified: 2014/11/11 # Filename: string.py # Q Q 群: 236147801 ##################################################### import re import string str = 'I love python' #1.生成20个字符长度 print str.center(20) #2.字符左对齐 print str.ljust(20) #3.字符右对齐 print str.rjust(20) #4.str右对齐,左边填充0 print str.zfill(20) #5.所有字符大写 print str.upper() #6.所有字符转小写 print str.lower() #7.所有单词的首字母大写 s = 'Thi quick brown fox jumped over the lazy dog.' print s print string.capwords(s) #8.大小写对换 print str.swapcase() #9.已分割符为标记,首字符大写,其余小写 print str.title() #10.模版转换 字符替换 比replace更有效率 leet = string.maketrans('abegiloprstz','463611092572') s = 'Thi quick brown fox jumped over the lazy dog.' print s print s.translate(leet) str = '0123' #11.是否全部是字母和数字,并至少有一个字符 print str.isalnum() #12.是否全部是数字,并至少有一个字符 print str.isdigit() #13.判断是否全是字母,并且至少一个字符 print str.isalpha() #14.判断是否是小写,当全是小写和数字一起时候,也判断为True print str.islower() #15.判断是否是空白字符,并且至少有一个字符 print str.isspace() #16.判断字符是否以str开头 print str.startswith('str') #17.判读字符是否以str结尾 print str.endswith('str') str = 'string 1EAMD' #18.查找字符,没有返回-1,有责返回查到第一个匹配的索引 print str.find('a') #19.查找字符,没有返回-1,有责返回查到最后一次匹配的索引 print str.rfind('a') #20.查找字符,如果没有报错,有责返回查到第一个匹配的索引 print str.index('s') #21.查找字符,没有报错,有责返回查到最后一次匹配的索引 print str.rindex('s') #22.查找字符串在字符中出现的次数 print str.count('s') #23.替换匹配的字符 print str.replace('s','A') #24.删除字符串首尾匹配的字符,通用用于删除回车符 print str.strip('n') #25.删除左边匹配的字符 print str.lstrip('n') #26.删除右边匹配的字符 print str.rstrip('n') #27.把制表符转为空格 str = ' tab' print str.expandtabs() str = '我在学习' #28.解码过程,将utf-8解码为unicode print str.decode('utf-8') #29.编码过程,将unicode编码为gbk print str.decode('utf-8').encode('gbk') #30.讲unicode编码为utf-8 print str.decode('utf-8').encode('utf-8') #31.字符分割 str = 'Learn string' print '-'.join(str) #32.以什么为分割 print str.split(' ') #33.模版Template values = {'var':'foo'} t = string.Template(""" Variale : $var Escape : $$ Variable in text: ${var}iable """) print 'TEMPLATE:',t.substitute(values) s = """ Variale : %(var)s Escape : %% Variable in text: %(var)siable """ print 'INTERPOLATION:', s % values #34.Template 异常处理 t = string.Template("$var is here but $missing is not provided") try: print 'substitute() :',t.substitute(values) except KeyError, err: print 'ERROR:',str(err) print 'safe_substitute():',t.safe_substitute(values) #36.高级模版 template_text = ''' Delimiter : %% Replaced : %with_underscore Ignored : %notundersocred ''' #37.可以自定义Templace 转换规则 d = { 'with_underscore':'replaced', 'notundersocred':'not replaced' } class MyTemplate(string.Template): delimiter = '%' idpattern = '[a-z]+_[a-z]+' t = MyTemplate(template_text) print 'Modified ID pattern:' print t.safe_substitute(d) #38.自定义更复杂的规则 t = string.Template('$var') print t.pattern.pattern ''' \$(?: (?P<escaped>\$) | # Escape sequence of two delimiters #忽略的分隔符 (?P<named>[_a-z][_a-z0-9]*) | # delimiter and a Python identifier #python分隔符的标识(也就是变量) {(?P<braced>[_a-z][_a-z0-9]*)} | # delimiter and a braced identifier #分隔符和一个支撑的标识 (?P<invalid>) # Other ill-formed delimiter exprs #无效的 ) ''' class MyTemplate(string.Template): delimiter = '{{' #定义转义符 pattern = r''' \{\{(?: (?P<escaped>\{\{) | (?P<named>[_a-z][_a-z0-9]*)\}\} | (?P<braced>[_a-z][_a-z0-9]*)\}\} | (?P<invalid>) ) ''' t = MyTemplate(''' {{{{ `var` ''') print t.template #查看template的值 print 'MATCHES:',t.pattern.findall(t.template) #查看正则匹配到的字符 print 'SUBSTIITUTED:',t.safe_substitute(var='replacement') #使用替换 print MyTemplate.delimiter #查看mytemplate转义符 print string.Template.delimiter #查看string转义符 #http://legacy.python.org/dev/peps/pep-0292/ #格式化段落 #39.填充段落 左对齐,第一行缩进,行中空格继续保留 import textwrap sample_text = ''' The textwrap modulde can be used to format text for output in situations where pretty-parinting is desired. It offers programmatic functionality similar to the paragraph wrapping or filling features found in myany text editors. ''' print 'No dedent:\n' print textwrap.fill(sample_text,width=50) #40.去除现有缩进(去除行中所有的空格) dedemted_text = textwrap.dedent(sample_text) print dedemted_text #41.结合fill和dedent 指定输出文字的宽度 dedemted_text = textwrap.dedent(sample_text).strip() print dedemted_text for width in [45,70]: print '%d Columns:\n' % width print textwrap.fill(dedemted_text,width=width) print #42.悬挂缩进 print textwrap.fill(dedemted_text, initial_indent='', #定义文本第一行缩进的长度 subsequent_indent=' ' * 4, #定义其他行的缩进 width=50 #定义文本长度,默认75 )
python string用法学习ing
原创
©著作权归作者所有:来自51CTO博客作者brother_星的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
案例学Python:filter()函数的用法,高级!
案例学Python:filter()函数的用法,高级!
Python 内置函数 python -
Sass:基础用法学习笔记
学习笔记
SASS ide 嵌套 选择器 默认值 -
LESS:基础用法学习笔记
LESS
css 嵌套 属性值 默认值 官网 -
关于.hpp的用法学习
hpp,顾名思义等于.h加上.cpp,在boost、Xerces等开源库中频繁出现
静态成员 静态变量 全局函数 -
Java String.intern()方法学习
Java String.intern()方法到
java 常量池 字符串常量 -
Ext Js 3.2 store的用法学习
1:store可以理解为数据存储器,也可以理解为客户端的小型数据表,提供缓存等功能,指
ext function 正则表达式 callback json -
python算法学习--待续
几个算法网站 算法可视化网站:https://v
html .net python -
jmespath语法学习 jmap用法
jmap的使用说明文章目录 一、jamp
jmespath语法学习 JVM 内存 sed 内存分布