Python是十分方便的小型脚本语言, 优点是易用. 内建的字符串对象的自带方法很丰富. 这里总结一下字符串相关的函数,库和方法.
# 一般字符串
big="abcd "
# 分行输入
big="this is a long string\
that spans two lines."
# 分行输入并换行
big="this is a long string\n\
that spans two lines."
# 字符串段三引号法
big="""abcd
efg
"""
# 禁转义
big=r"this is a long string\n\
that spans two lines."
# 字符串拼接
a="123"+"456"
# 格式化字符串
"%3.3f"%("1.234")
内建函数
type(var)
求出变量类型,例如str
len(str)
求出字符串长度int(str)
字符串变整型float(str)
字符串变浮点long(str)
字符串变长整型str(var)
将变量转为字符串.list(str)
将字符串逐个逐个字符变为list型..类似地tuple(str)
也行..repr(object)
返回值为适合机读的字符串形式(1000L->1000L)chr(N)
将整型变为字符.unichr(num)
将字母顺序值转为某unicode单字符(0~65535)unicode(var,codec)
将变量按codec转为unicode型(前面加了个u)=str.decode(codec)input(prompt)
获取用户输入,须合法的python表达式:”字符”raw_input(prompt)
获取用户输入,返回字符串
字符串方法(并不能改变字符串的值,只起到返回作用)
str.decode(codec)
根据codec将字符串解码成unicode,等于unicode函数str.encode(codec)
根据codec将unicode字符串编码为codec的内容str.find(a,x,y)
str中查找字符串a,xy为查找始末(不含y)不输入xy默认头到尾.返回索引号,没有返回-1str.rfind(a,x,y)
str中查找最后一个字符串a,xy为始末,返回最后一个的索引号,没有返回-1str.index(a,x,y)
和find功能基本一致,区别在查找不到返回错误str.rindex(a,x,y)
和rfind功能基本一致,区别在查找不到返回错误str.count(a,x,y)
str中查找a,xy始末,返回a出现次数str.startwith(a,x,y)
str中检查xy范围内是否以字符串a起始,返回TrueFalsestr.endwith(a,x,y)
str中检查xy范围内是否以字符串a终结,返回TrueFalsestr.join(Seq)
序列Seq各字符元素用str连接起来.要在始末加连接符要加空元素’’.返回连接的字符串str.lower()
str小写化,返回小写字符串str.islower()
检查str是否小写,返回真假str.capitalize()
str句首首字母大写,返回字符串str.swapcase()
str字母交换大小写,返回字符串str.title()
str词首大写,包括’s,the等。返回字符串str.istitle()
检查str是否词首大写,返回真假str.upper()
str大写化,返回大写字符串str.isupper()
检查str是否大写,返回真假str.replace(a,b,[x])
替换,将a变成b。x为参数限定最大替换数,不输为全替换。返回字符str.expandtabs([x])
将Tab产生的长度替换为x个空格,不指明x为默认tab长度。返回字符串str.split([spe[,x]])
将分隔符spe(不输入默认空格换行制表符等)从字符串中去除,x为最大去除数。返回列表str.splitlines([keepends])
将多行分裂开成列表,可选保留换行符不。str.strip(‘a’)
将str两端的符合条件’a’的都删除,返回字符串.不输默认空格tab换行,或者某些单字符str.lstrip(‘a’)
同strip,不过只删左边end部分str.rstrip(‘a’)
同strip,不过只删右边开头部分str.translate(table[,’char’])
按字母表(用maketrans函数产生)单字符地替换str,删掉’char’,返回字符串str.zfill(x)
填充字符串使其变成长度x的字符串,不足从左填入0str.center(x[,’a’])
变成长度x字符串,str归中处理(若基数右侧多1).指明a的话即用a填充,否则空格str.ljust(x[,’a’])
变成长度x字符串,str左对齐处理.指明a的话即用a填充,否则空格str.rjust(x[,’a’])
变成长度x字符串,str右对齐处理.指明a的话即用a填充,否则空格str.isalnum()
检查str是否数字或字母,返回是否。str.isalpha()
检查str是否字母,返回是否。str.isdigit()
检查str是否数字,返回是否。str.isspace()
检查str是否空格,返回是否。str.partition(‘sep’)
从左搜索str的分隔符sep,并返回(head,sep,tail)即分隔开后的元组str.rpartition(‘sep’)
从右搜索str的分隔符sep,并返回(head,sep,tail)即分隔开后的元组
string标准库
现在已经很少用. 内置一些奇怪的常量, 还有一些str类不具有的方法.
常量:
whitespace
: a string containing all characters considered whitespacelowercase
: a string containing all characters considered lowercase lettersuppercase
: a string containing all characters considered uppercase lettersletters
: a string containing all characters considered lettersdigits
: a string containing all characters considered decimal digitshexdigits
: a string containing all characters considered hexadecimal digitsoctdigits
: a string containing all characters considered octal digitspunctuation
: a string containing all characters considered punctuationprintable
: a string containing all characters considered printable
DATA:
ascii_letters
= ‘abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ’ascii_lowercase
= ‘abcdefghijklmnopqrstuvwxyz’ascii_uppercase
= ‘ABCDEFGHIJKLMNOPQRSTUVWXYZ’digits
= ‘0123456789’hexdigits
= ‘0123456789abcdefABCDEF’letters
= ‘ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz’lowercase
= ‘abcdefghijklmnopqrstuvwxyz’octdigits
= ‘01234567’printable
= ‘0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTU…punctuation
='!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
uppercase
='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
whitespace
='\t\n\x0b\x0c\r '
方法
string.Template(’a’)
模板字符串,结合$x和A.substitute(x=’a’)使用string.atoi(str[,base])
字符串到整型,base默认10进制,可以输入8/16/2等string.atol(str[,base])
字符串到长整型,base默认10进制,可以输入8/16/2等string.atof(str)
字符串到浮点string.capwords(str[,sep])
利用sep作分隔的词首字母大写,较好,返回字符串.默认为空格分隔.string.maketrans(‘ab’,’cd’)
将256位字符表中a和b相应换成c和d,返回字符串.用于translate方法。string.capitalize(string)
首字母大写string.lower(string)
全部小写化string.upper(string)
全部大写化string.replace(string,old,new[,maxsplit])
字符串中替换,max为最多替换个数string.join(list[,sep])
使用分界符(sep,默认空格)将字符串列表连接起来.string.split(string,sep=None,maxsplit=-1)
以sep为分界符将string分开成一个列表
本博文已合并到Python语法汇总中, 不再更新.