Python序列之字符串 (str)
作者博文地址:http://www.cnblogs.com/spiritman/
Python字符串的常用操作包括以下但不限于以下操作:
1 字符串的替换、删除、切片、复制、连接、比较、查找、分割等
以下将对字符串的内置操作方法进行总结,并以实力展示。
1 使用type获取创建对象的类 type(name) 2 使用dir获取类的成员dir(name) 3 使用vars获取类的成员和各个成员的值
capitalize
1 功能:字符串首字母大写
2 语法:s.capitalize() -> string 3 name = 'spiritman' 4 name.capitalize() 5 结果:'Spiritmans'
casefold
1 功能:字符串首字母小写
2 语法:s.casefold() -> string 3 name = 'SpiritMan' 4 name.casefold() 5 结果:'spiritMan'
center
1 功能:字符串宽度填充。使用原有字符串+填充字符构成指定长度的新的字符串
2 语法:S.center(width[, fillchar]) -> string 3 name = 'spiritman' 4 name.center(13) 5 结果:' spiritman ' #默认以空格填充 6 name.center(14,'*') 7 结果:'***spiritman**' 8 ################################################################### 9 功能:字符串居中。以'*'分割(20位新产生字符串的总宽度) 10 name = 'spiritman' 11 name.center(15,'*') 12 结果:'***spiritman***'
count
1 功能:统计某个字符或子序列在字符串中出现的次数,或在字符串指定区间内完成上述操作
2 语法:S.count(sub[, start[, end]]) -> int 3 name = 'spiritman' 4 name.count('i') 5 结果:2 6 name.count('h',1,3) #从索引值0-3范围的字符中统计'h'出现的次数 7 结果:1 8 9 name.count('rit') #统计子序列rit出现的次数
10 结果:1
encode
1 功能:对字符串进行编码操作
2 语法:S.encode([encoding[,errors]]) -> object 3 name = 'spiritman' 4 name.encode() 5 结果:'spiritman' 6 7 功能:转换字符串的编码 8 name = '精灵旅社' 9 name.encode('gbk') 10 结果:'\xc4\xcf\xb7\xc7\xb2\xa8\xb2\xa8'
endswith
1 功能:判断字符串是否以某个字符或子序列结尾的,返回值为布尔型
2 语法:S.endswith(suffix[, start[, end]]) -> bool 3 name = 'spiritman' 4 name.endswith('s') 5 结果:False 6 name.endswith('n') 7 结果:True 8 name.endswith('man') 9 结果:True
expandtabs
1 功能:将制表符'\t'转换成指定宽度的tab键分割,默认tabsize=8
2 语法:S.expandtabs([tabsize]) -> string 3 name = 'spirit\tman' 4 name.expandtabs() 5 结果:'spirit man' 6 name.expandtabs(4) 7 结果:'spirit man'
find
1 功能:在字符串中查找指定字符串,找到则返回其索引值,找不到返回-1 2 语法:s.find(sub [,start [,end]]) -> int 3 name = 'spiritman' 4 name.find('s') 5 结果:0 6 name.find('i') 7 结果:2 8 name.find('m',1,4) 9 结果:-1
format
1 功能:格式化输出字符串 2 语法:S.format(*args, **kwargs) -> string 3 test = 'I\'m {},{}' 4 test.format('spiritman',' Welcome') 5 结果: "I'm spiritman,Welcome"
index
1 功能:在字符串中查找指定的字符串,找到则返回索引值,找不到时报错 2 语法:S.index(sub [,start [,end]]) -> int 3 name = 'spiritman' 4 name.index('r') 5 结果:3 6 name.index('rit') 7 结果:3
join
1 功能:字符串连接 2 语法:S.join(iterable) -> string 3 name = 'spiritman' 4 '*'.join(name) 5 结果:'s*p*i*r*i*t*m*a*n'
isalnum
1 功能:检查判断字符串是否包含字母数字字符 2 语法: S.isalnum() -> bool 3 name = 'spiritman' 4 name.isalnum() 5 结果:True
isalpha
1 功能:检查字符串是否只由字母组成 2 语法:S.isalpha() -> bool 3 name = 'spiritman1' 4 name.isalpha() 5 结果:False
isdecimal
1 功能:检查字符串是否只包含十进制字符。该方法只存在于unicode对象 2 语法:S.isdecimal() -> bool 3 name = 'spiritman' 4 name.isdecimal() 5 结果:False
isdigit
1 功能:检测字符串是否只由数字组成 2 语法:S.isdigit() -> bool 3 num = '21312414' 4 num.isdigit() 5 结果:True
isspace
1 功能:检测字符串是否为空格 2 语法:S.isspace() -> bool 3 name = ' ' 4 name.isspace() 5 结果:True 6 test = 'spiritman' 7 test.isspace() 8 结果:False
istitle
1 功能:判断字符串是否适合当做标题(即每个单词首字母大写) 2 语法:S.istitle() -> bool 3 s1 = 'A People' 4 s2 = 'a people' 5 s1.istitle() 6 结果:True 7 s2.istitle() 8 结果:False
isupper
1 功能:判断字符串中所有字母字符是否都是大写字母 2 语法:S.isupper() -> bool 3 name = 'spiritman' 4 NAME = 'SPIRITMAN' 5 name.isupper() 6 结果:False 7 NAME.isupper() 8 结果:True
ljust
1 功能:返回一个以原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串 2 语法:S.ljust(width[, fillchar]) -> string 3 width #指定字符串长度 4 fillchar #填充字符,默认空格 5 name = 'spiritman' 6 name.ljust(20.'*') 7 结果:'spiritman***********'
lower
1 功能:将所有的字母转换成小写 2 语法:S.lower() -> string 3 name = 'SpiritMan' 4 name.lower() 5 结果:'spiritman'
lstrip
1 功能:删除字符串左边指定的字符,默认为空格 2 语法:S.lstrip([chars]) -> string or unicode 3 name = ' spiritman ' 4 name1 = 'xxxspiritmanxxx' 5 name.lstrip() 6 结果:'spiritman ' 7 name1.lstrip('x') 8 结果:'spiritmanxxx'
rstrip
1 功能:删除字符串右边指定的字符,默认为空格 2 语法:S.rstrip([chars]) -> string or unicode 3 name = ' spiritman ' 4 name1 = 'xxxspiritmanxxx' 5 name.rstrip() 6 结果:' spiritman' 7 name1.rstrip('x') 8 结果:'xxxspiritman'
strip
1 功能:删除字符串两边指定的字符,默认为空格 2 语法:S.strip([chars]) -> string or unicode 3 name = ' spiritman ' 4 name1 = 'xxxspiritmanxxx' 5 name.strip() 6 结果:'spiritman' 7 name1.strip('x') 8 结果:'spiritman'
partition
1 功能:根据指定的分隔符将字符串进行分割。如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。 2 语法:S.partition(sep) -> (head, sep, tail) 3 sep = 'rit' 4 name = 'spiritman' 5 name.partition(sep) 6 结果:('spi','rit','man')
replace
1 功能:字符串替换。若指定参数count,则替换不超过count次 2 语法: S.replace(old, new[, count]) -> string 3 参数: old -----将被替换的子字符串 4 new ---- 新字符串,用于替换old字符串 5 count--- 可选参数,替换不超过count次 6 str = 'this is a test file....wow!!! this is a realy file' 7 str.replace('is','was') 8 结果:'thwas was a test file....wow!!! thwas was a realy file' 9 str.replace('is','was',3) 10 结果:'thwas was a test file....wow!!! thwas is a realy file'
split
1 功能:字符串切割,默认空格 2 语法: S.split([sep [,maxsplit]]) -> list of strings 3 name = 'spiritman' 4 name.split() 5 结果:['spiritman'] 6 name.split('i') 7 结果:['sp', 'r', 'tman']
__add__
1 功能:在字符串后面添加指定的字符或字符串 2 name = 'spiritman' 3 str = 'liu' 4 name.__add__('s') 5 结果:'spiritmans' 6 name.__add__(str) 7 结果:'spiritmanliu'
__contains__
1 功能:判断指定字符串是否包含在字符串中,返回值为True和False 2 name = 'spiritman' 3 name.__contains__('i) 4 结果:True
__eq__
1 功能:判断字符串是否相等,返回值为True和False 2 str1 = 'spiritman' 3 str2 = 'spiritmans' 4 str1.__eq__(str2) 5 结果:False
作者博文地址:http://www.cnblogs.com/spiritman/
http://www.cnblogs.com/spiritman/