您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > Python 的内置字符串方法
Python的内置字符串方法(收藏专用)字符串处理是非常常用的技能,但Python内置字符串方法太多,常常遗忘,为了便于快速参考,特地依据Python3.5.1给每个内置方法写了示例并进行了归类,便于大家索引。PS:可以点击概览内的绿色标题进入相应分类或者通过右侧边栏文章目录快速索引相应方法。概览字符串大小写转换str.capitalize()str.lower()str.casefold()str.swapcase()str.title()str.upper()字符串格式输出str.center(width[,fillchar])str.ljust(width[,fillchar]);str.rjust(width[,fillchar])str.zfill(width)str.expandtabs(tabsize=8)str.format(^args,^^kwargs)str.format_map(mapping)字符串搜索定位与替换str.count(sub[,start[,end]])str.find(sub[,start[,end]]);str.rfind(sub[,start[,end]])str.index(sub[,start[,end]]);str.rindex(sub[,start[,end]])str.replace(old,new[,count])str.lstrip([chars]);str.rstrip([chars]);str.strip([chars])staticstr.maketrans(x[,y[,z]]);str.translate(table)字符串的联合与分割str.join(iterable)str.partition(sep);str.rpartition(sep)str.split(sep=None,maxsplit=-1);str.rsplit(sep=None,maxsplit=-1)str.splitlines([keepends])字符串条件判断str.endswith(suffix[,start[,end]]);str.startswith(prefix[,start[,end]])str.isalnum()str.isalpha()str.isdecimal();str.isdigit();str.isnumeric()str.isidentifier()str.islower()str.isprintable()str.isspace()str.istitle()str.isupper()字符串编码str.encode(encoding=”utf-8″,errors=”strict”)大小写转换str.capitalize()将首字母转换成大写,需要注意的是如果首字没有大写形式,则返回原字符串。1234567891011'adidog'.capitalize()#'Adidog''abcd徐'.capitalize()#'Abcd徐''徐abcd'.capitalize()#'徐abcd''ß'.capitalize()#'SS'str.lower()将字符串转换成小写,其仅对ASCII编码的字母有效。12345678'DOBI'.lower()#'dobi''ß'.lower()#'ß'为德语小写字母,其有另一种小写'ss',lower方法无法转换#'ß''徐ABCD'.lower()#'徐abcd'str.casefold()将字符串转换成小写,Unicode编码中凡是有对应的小写形式的,都会转换。12345'DOBI'.casefold()#'dobi''ß'.casefold()#德语中小写字母ß等同于小写字母ss,其大写为SS#'ss'str.swapcase()对字符串字母的大小写进行反转。12'徐Dobia123ß'.swapcase()#:'徐dOBIA123SS'这里的ß被转成SS是一种大写但需要注意的是s.swapcase().swapcase()==s不一定为真:1234567891011u'xb5'#'µ'u'xb5'.swapcase()#'Μ'u'xb5'.swapcase().swapcase()#'μ'hex(ord(u'xb5'.swapcase().swapcase()))Out[154]:'0x3bc'这里'Μ'(是mu不是M)的小写正好与'μ'的写法一致。str.title()将字符串中每个“单词”首字母大写。其判断“单词”的依据则是基于空格和标点,所以应对英文撇好所有格或一些英文大写的简写时,会出错。123456789'Helloworld'.title()#'HelloWorld''中文abcdef12gh'.title()#'中文AbcDef12Gh'#但这个方法并不完美:they'rebill'sfriendsfromtheUK.title()#They'ReBill'SFriendsFromTheUkstr.upper()将字符串所有字母变为大写,会自动忽略不可转成大写的字符。12'中文abcdef12gh'.upper()#'中文ABCDEF12GH'需要注意的是s.upper().isupper()不一定为True。字符串格式输出str.center(width[,fillchar])将字符串按照给定的宽度居中显示,可以给定特定的字符填充多余的长度,如果指定的长度小于字符串长度,则返回原字符串。12345'12345'.center(10,'*')#'**12345***''12345'.center(10)#'12345'str.ljust(width[,fillchar]);str.rjust(width[,fillchar])返回指定长度的字符串,字符串内容居左(右)如果长度小于字符串长度,则返回原始字符串,默认填充为ASCII空格,可指定填充的字符串。1234'dobi'.ljust(10)#'dobi''dobi'.ljust(10,'~')567891011#'dobi~~~~~~''dobi'.ljust(3,'~')#'dobi''dobi'.ljust(3)#'dobi'str.zfill(width)用‘0’填充字符串,并返回指定宽度的字符串。1234567891011121314151617181942.zfill(5)#'00042'-42.zfill(5)#'-0042''dd'.zfill(5)#'000dd''--'.zfill(5)#'-000-'''.zfill(5)#'0000'''.zfill(5)#'00000''dddddddd'.zfill(5)#'dddddddd'str.expandtabs(tabsize=8)用指定的空格替代横向制表符,使得相邻字符串之间的间距保持在指定的空格数以内。123456789tab='1t23t456t7890t1112131415t161718192021'tab.expandtabs()#'12345678901112131415161718192021'#'123456781234567812345678123456781234567812345678'注意空格的计数与上面输出位置的关系tab.expandtabs(4)#'12345678901112131415161718192021'#'12341234123412341234123412341234'str.format(^args,^^kwargs)格式化字符串的语法比较繁多,官方文档已经有比较详细的examples,这里就不写例子了,想了解的童鞋可以直接戳这里Formatexamples.str.format_map(mapping)类似str.format(*args,**kwargs),不同的是mapping是一个字典对象。1234People={'name':'john','age':56}'Mynameis{name},iam{age}old'.format_map(People)#'Mynameisjohn,iam56old'字符串搜索定位与替换str.count(sub[,start[,end]])12345678910text='outerprotectivecovering'text.count('e')#4text.count('e',5,11)#1text.count('e',5,10)#0str.find(sub[,start[,end]]);str.rfind(sub[,start[,end]])123456789101112131415161718192021222324252627text='outerprotectivecovering'text.find('er')#3text.find('to')#-1text.find('er',3)Out[121]:3text.find('er',4)Out[122]:20text.find('er',4,21)Out[123]:-1text.find('er',4,22)Out[124]:20text.rfind('er')Out[125]:20text.rfind('er',20)Out[126]:20text.rfind('er',20,21)28Out[129]:-1str.index(sub[,start[,end]]);str.rindex(sub[,start[,end]])与find()rfind()类似,不同的是如果找不到,就会引发ValueError。str.replace(old,new[,count])1234567891011121314'dogwowwowjiao'.replace('wow','wang')#'dogwangwangjiao''dogwowwowjiao'.replace('wow','wang',1)#'dogwangwowjiao''dogwowwowjiao'.replace('wow','wang',0)#'dogwowwowjiao''dogwowwowjiao'.replace('wow','wang',2)#'dogwangwangjiao''dogwowwowjiao'.replace('wow','wang',3)#'dogwangwangjiao'str.lstrip([chars]);str.rstrip([chars]);str.strip([chars])1234567'dobi'.lstrip()#'dobi''db.kun.ac.cn'.lstrip('dbk')#'.kun.ac.cn''dobi'.rstrip()#'dobi'8910111213141516'db.kun.ac.cn'.rstrip('acn')#'db.kun.ac.''dobi'.strip()#'dobi''db.kun.ac.cn'.strip('db.c')#'kun.ac.cn''db.kun.ac.cn'.strip('cbd.un')#'kun.a'staticstr.maketrans(x[,y[,z]]);str.translate(table)maktrans是一个静态方法,用于生成一个对照表,以供translate使用。如果maktrans仅一个参数,则该参数必须是一个字典,字典的key要么是一个Unicode编码(一个整数),要么是一个长度为1的字符串,字典的value则可以是任意字符串、None或者Unicode编码。123456789101112131415a='dobi'ord('o')#111ord('a')#97hex(ord('狗'))#'0x72d7'b={'d':'dobi',111:'is','b':97,'i':'u72d7
本文标题:Python 的内置字符串方法
链接地址:https://www.777doc.com/doc-4209990 .html