0
点赞
收藏
分享

微信扫一扫

python字符串内建函数操作实例源码讲解

#coding=utf8
'''
下面列出目前字符串内建支持的方法,所有这些方法都包含了对Unicode的支持,
一些甚至是专门用于Unicode的。
----------------------------------------------------------------------------
string.capitalize() :
把字符串的第一个字符大写

string.center(width):
返回一个原字符串居中,
并使用空格填充值长度width的新字符串

string.count(str,beg=0, end=len(string)) :
返回str在string里面出现的次数,
如果beg或者end指定则返回指定范围内str出现的次数

string.decode(encoding="utf8", errors="strict"):
以encoding指定的编码格式解码string,
如果默认报一个ValueError的异常,
除非errors指定的是'ignore'或者'replace'

string.encode(encoding="utf8", errors="strict"):
以encoding指定的编码格式编码string,
如果默认报一个ValueError的异常,
除非errors指定的是'ignore'或者'replace'

string.endswith(obj,beg=0,end=len(string)):
检查字符串是否以obj结束,
如果beg或者end指定则检查指定范围内是否以obj结束,
如果是,返回True,否则返回False

string.expandtabs(tabsize=8):
把字符串string中的tab符号转为空格,
默认的空格数tabsize是8

string.find(str,beg=0,end=len(string)):
检测str是否包含在string中,如果beg和end指定范围,
检测是否包含在指定范围内,如果是返回开始的索引值,
否则返回-1

string.index(str,beg=0,end=len(string)):
跟find()一样,如果str不在string中会报一个异常。

string.isalnum():
如果string至少有一个字符并且所有字符都是字母或数字则返回True,否则返回False。

string.isalpha():
如果string至少有一个字符并且所有字符都是字母则返回True,否则返回False。

string.isdecimal():
如果string只包含十进制数字则返回True,否则返回False。

string.isdigit():
如果string只包含数字则返回True,否则返回False。

string.islower():
如果string中包含至少一个区分大小写的字符,并且所有这些字符都是小写,则返回True。

string.isnumeric():
如果string中只包含数字字符,则返回True,否则返回False。

string.isspace():
如果string中只包含空格,则返回True,否则返回False

string.istitle():
如果string是标题化的,则返回True,否则返回False

string.isupper():
如果string中包含至少一个区分大小写的字符,并且所有这些字符都是大写,则返回True

string.join(seq):
Merges以string作为分隔符,将seq中所有的元素(的字符串表示)合并为一个新的字符串。

string.ljust(width):
返回一个原字符串左对齐,并使用空格填充至长度width的新字符串

string.lower():
转换string中所有大写字符为小写。

string.lstrip():
截掉string左边的空格。

string.partition(str):
有点像find()和split()的结合体,从str出现的第一个位置起,
把字符串string分成一个3元素的元组(string_pre_str,str,string_post_str),
如果string中不包含str则string_pre_str==string。

string.replace(str1,str2,num=string.count(str1)):
把string中的str1替换成str2,如果num指定,则替换不超过num次。

string.rfind(str,beg=0,end=len(string)):
类似于find()函数,不过是从右边开会查找。

string.rindex(str,beg=0,end=len(string)):
类似于index(),不过是从右边开始。

string.rjust(width):
返回一个原始字符串右对齐,
并使用空格填充至长度width的新字符串。

string.rpartition(str):
类似于partition()函数,不过是从右边开始。

string.rstrip():
删除string字符串末尾的空格。

string.split(str="",num=string.count(str)):
以str为分隔符切片str,如果num有指定值,则仅分隔num个子字符串。

string.splitlines(num=string.count("\n")):
按照行分隔,返回一个包含各行作为元素的列表,
如果num指定则仅切片num个行。

string.startswith(obj,beg=0,end=len(string)):
检查字符串是否是以obj开头,是则返回True,
否则返回False。如果beg和end指定值,则在指定范围内检查。

string.strip([obj]):
在string上执行lstrip()和rstrip()

string.swapcase():
翻转string中的大小写

string.title():
返回“标题化”的string,就是说所有单词都是以大写开始,
其余字母均为小写。

string.translate(str,del=""):
根据str给出的表(包含256个字符)转换string的字符,
要过滤掉的字符放到del参数中。

string.upper():
转化string中的小写字母为大写。

string.zfill(width):
返回长度为width的字符串,原字符串string右对齐,前面填充0
----------------------------------------------------------------------------
'''
import string
#操作要用的字符串
testString="where there is a will ,there is a way"
testString_1="I am 45 years,I born in 1999"

#把字符串的第一个字符大写
print "--------------Call capitalize()-------------"
print testString.capitalize()
print "-----------------------------------------"
print
#调用center()函数,把字符居中
#并使用空格填充至长度为原字符串二倍的新字符串
print "--------------Call center()-------------"
print testString.center(len(testString)*2)
print "-----------------------------------------"
print
#记录字符串中ere出现的次数
#我这个版本没有beg、end参数,只有一个str参数
print "--------------Call count()-------------"
print testString.count("ere")
print "-----------------------------------------"
print
#设置字符串编码格式
print "--------------Call encode()-------------"
print testString.encode("utf8")
print "-----------------------------------------"
print
#调用endswith函数
#只有一个参数suffix,没哟参数beg、end
print "--------------Call endswith()-------------"
print testString.endswith("way")
print "-----------------------------------------"
print
#把字符串中的tab符号转为空格,
#默认的空格数tabsize是8
print "--------------Call expandtabs()-------------"
print testString.expandtabs(8)
print "-----------------------------------------"
print
#查找str中是否包含某个人字符
#如果包含返回索引值
print "--------------Call find()-------------"
print "The first appear:",testString.find("is")
print "-----------------------------------------"
print
#调用index()函数
print "--------------Call index()-------------"
print "The index of the first appear ere :",testString.index("ere")
print "-----------------------------------------"
print
#调用isalnum()函数
#所有字符必须是字母或数字,不能包含其他字符
#否则为true
print "--------------Call isalnum()-------------"
print "456abc".isalnum()
print "456 abc".isalnum()
print "-----------------------------------------"
print
#调用isalpha()
#如果字符串的所有字符都是字母则返回True
print "--------------Call isalpha()-------------"
print "abc".isalpha()
print "abc12".isalpha()
print "-----------------------------------------"
print
#调用isdecimal()
#如果字符串只包含十进制数则返回True
#当前版本不包含该方法
#print "89".isdecimal()

#调用isdigit()
#如果只包含数字则返回True
print "--------------Call isdigit()-------------"
print testString_1.isdigit()
print "1223456".isdigit()
print "-----------------------------------------"
print

#调用islower()
#判读字符串是否全部为小写,如果为小写为True
print "--------------Call islower()-------------"
print testString_1.islower()
print "1223abcde".islower()
print "-----------------------------------------"
print

#调用isnumeric()
#判读字符串是否全部为数字,如果为数字为True
#当前版本不包含isnumeric函数
'''
print "--------------Call isnumeric()-------------"
print testString_1.isnumeric()
print "1223.123".isnumeric()
print "-----------------------------------------"
print
'''

#调用isspace()
#判读字符串是否全部为空格,如果为全部为空格为True
print "--------------Call isspace()-------------"
print testString_1.isspace()
print " ".isspace()
print "-----------------------------------------"
print

#调用istitle()
#判读字符串是否全部为空格,如果为全部为空格为True
print "--------------Call istitle()-------------"
print "I Am Ewang ".istitle()
print "i am ewang ".istitle()
print "-----------------------------------------"
print

#调用isupper()
#判读字符串是否全部为大写,如果为大写为True
print "--------------Call isupper()-------------"
print testString_1.isupper()
print "1223ABC".isupper()
print "-----------------------------------------"
print

#调用join()
#把" love "加入IU中,用" love "把字符进行分开
print "--------------Call join()-------------"
print " love ".join("IU")
print "-----------------------------------------"
print

#调用ljust()
#字符串左对齐,并用空格填充所需长度
print "--------------Call ljust()-------------"
print "love".ljust(8)
print "-----------------------------------------"
print

#调用lower()
#把字符串转换为小写
print "--------------Call lower()-------------"
print "LOVE".lower()
print "-----------------------------------------"
print

#调用lstrip()
#去掉左边空格
print "--------------Call lstrip()-------------"
print "LOVE ".lstrip()
print "-----------------------------------------"
print

#调用partition()
#从is出现的第一个位置,把字符串分成一个三元素的元组
print "--------------Call partition()-------------"
print testString.partition("is")
print "-----------------------------------------"
print

#调用partition()
#从is出现的第一个位置,把字符串分成一个三元素的元组
print "--------------Call partition()-------------"
print testString.partition("is")
print "-----------------------------------------"
print

#调用replace()
#把is替换成IS,并指定替换次数为2
print "--------------Call replace()-------------"
print testString.replace("is","IS",2)
print "-----------------------------------------"
print

#调用rfind()
#从右边开始查找字符串,指定开始和结束位置
print "--------------Call rfind()-------------"
print testString.rfind("is",0,34)
print "-----------------------------------------"
print

#调用rfind()
#从右边开始查找字符串,指定开始和结束位置
print "--------------Call rfind()-------------"
print testString.rfind("is",0,34)
print "-----------------------------------------"
print

#调用rindex()
#从右边开始查找字符串,指定开始和结束位置
print "--------------Call rindex()-------------"
print testString.rindex("is",0,34)
print "-----------------------------------------"
print

#调用rjust()
#字符串右对齐,并使用空格填充值长度为8的新字符串
print "--------------Call rjust()-------------"
print "love".rjust(8)
print "-----------------------------------------"
print

#调用rpartition()
#从右边开始is出现的第一个位置,把字符串分成一个三元素的元组
print "--------------Call rpartition()-------------"
print testString.rpartition("is")
print "-----------------------------------------"
print

#调用rstrip()
#删除字符串末尾的空格
print "--------------Call rstrip()-------------"
print testString.rstrip()
print "-----------------------------------------"
print

#调用split()
#根据is分隔字符串,,并指定分隔符出现的次数为1
print "--------------Call split()-------------"
print testString.split("is",1)
print testString.split("is",2)
print testString.split("is",3)
print "-----------------------------------------"
print

#调用splitlines()
#按照行分隔,返回一个包含各行作为元素
#指定换行符\n的个数
oneDemo='''
one two three
four five six
seven eight nine
ten eleven twleve
'''
print "--------------Call splitlines()-------------"
print oneDemo.splitlines(0)
print oneDemo.splitlines(1)
print oneDemo.splitlines(6)
print "-----------------------------------------"
print

#调用startswith(obj)
#检查字符串是否以obj开头
#如果是返回True,否则返回False。
#如果指定开始和结束位置,则在指定位置检查
print "--------------Call startswith()-------------"
print testString.startswith("is",0,20)
print testString.startswith("where",0,10)
print testString.startswith("where")
print "-----------------------------------------"
print

#调用strip([obj])
#删除字符串开始和结束的空格
print "--------------Call strip()-------------"
print " someone like to eat hotdog ".strip()
print "-----------------------------------------"
print

#调用swapcase()
#翻转string中的大小写
print "--------------Call swapcase()-------------"
print " someone like to eat HOTDOG ".swapcase()
print "-----------------------------------------"
print

#调用title()
#返回标题化的string,所有单词都是以大写开始
#其余字母都是小写
print "--------------Call title()-------------"
print " someone like to eat hotdog ".title()
print "-----------------------------------------"
print

#调用translate(str,del="")
#根据str给出的表转换string的字符
#要过滤掉的字符放在del参数中
print "--------------Call translate()-------------"
instr = 'someone'
outstr = '1234567'
#返回一个翻译表
#创建一个映射,someone分别对应1234567
#由于存在重复字母,所以在映射过程中,以最新的值为准
#即:o对应5,e对应7
table = string.maketrans(instr,outstr)
astr = 'someone--1234567'
#执行translate时,someone被翻译为:1537567
tas=astr.translate(table,"1234")
#如果相等,则两个相等
print cmp("1537567--567",tas)
print tas
print "-----------------------------------------"
print

#调用upper()
#把字符串变成大写字母
print "--------------Call title()-------------"
print " someone like to eat hotdog ".upper()
print "-----------------------------------------"
print

#调用zfill(width)
#返回长度为width的字符串,原字符串string右对齐,前面填充0
print "--------------Call zfill()-------------"
print " someone".zfill(10)
print "-----------------------------------------"
print


举报

相关推荐

0 条评论