python中字符串类型的数据的常用处理方法总结

name=str('hello')#实例化一个字符串对象

dir(name)返回该对象下面的成员(字段、属性、方法)

['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getslice__', '__gt__', '__hash__', '__init__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '_formatter_field_name_split', '_formatter_parser', 'capitalize', 'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']

第一个方法capitalize #首字母进行大写,return  一个首字母大写的string类型数据

例:print name.capitalize()  返回Hello 

#注意一个字符串有多个单子,只是首单子的字母进行了大写

name='hello world'  print name.capitalize() 返回的未Hello world

第二个方法:center(width,'fillchar') #该方法返回一个原字符串居中,并使用fillchar填充字符串至长度 width 的新字符串

name='hello'

print name.center(10,'*')#返回**hello***

第三个方法:count(sub[, start[, end]]) -> int   # 改方法查找子串在字符串中出现的次数

例子:name='zhenzhenzhen'

name.count('zhen') 返回 3

name.count('zhen' ,5) 返回1

name.count('zhen',5,11)返回0

name.count('zhen',5,12) 返回1 # 查找范围不包含end结束索引处的字符,所以结束为11返回为空,12 返回为1

第四、五个方法:'decode', 'encode' 如:decode(encoding='base64',errors='strict')

  • encoding -- 要使用的编码,如"UTF-8"。

  • errors -- 设置不同错误的处理方案。默认为 'strict',意为编码错误引起一个UnicodeError。 其他可能得值有 'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace' 以及通过 codecs.register_error() 注册的任何值。

例子:str='name' str=str.encode('base64')  #把base64用这种编码方式编码后的数据赋予str变量

str.decode('base64')# 对于str变量用base64编码方式解码

第六个方法:endswith(sub[,start[,end]])返回 True or False,在一个字符串的start,end范围内查找子串

str = "this is string example....wow!!!";
suffix = "wow!!!";
print str.endswith(suffix); #返回True

print str.endswith(suffix,26)# 返回True

print str.endswith(suffix,27)#返回False

应用实例:

# 输入一个字符串返回满足以下条件的字符串
# 如果字符串长度大等于3,添加 'ing' 到字符串的末尾
# 如果字符串是以 'ing' 结尾的,就在末尾添加 'ly'
# 如果字符串长度小于3,返回原字符串
 1 i=1
 2 while i<5:
 3     strings=raw_input('请输入一个字符串')
 4     if len(strings)<3:
 5         i=i+1
 6     else:
 7         if strings.endswith('ing'):
 8             strings=strings+'ly'
 9             i=i+1
10         else:
11             strings=strings+'ing'
12             i=i+1
13     print strings

第七个方法:str.expandtabs(tabsize=8) tabsize可以为空  tabsize -- 指定转换字符串中的 tab 符号('\t')转为空格的字符数。

str = "this is\tstring example....wow!!!";
print "Original string: " + str;
print "Defualt exapanded tab: " + str.expandtabs();
print "Double exapanded tab: " + str.expandtabs(16);

第八个方法,find(str,beg,end)# 检测字符串中是否包含字符串str,在beg和end范围内,如果有返回字符串开始的索引值,如果没有返回-1

info='abcd' info.find('a',1,5) 返回-1 info.find('a') 返回0 info.find('a',1) 返回-1

第九个方法 format '{}{}{}'.format(*arg,**arg) 返回格式化好了的字符串

 

默认顺序:例 S = 'I {} {}, and I\'am learning'.format('like', 'Python')

设置数字顺序指定格式化的位置

S = 'I {0} {1}, and I\'am learning'.format('like', 'Python')
S = 'I {1} {0} {1}, and I\'am learning'.format('like', 'Python')

第十个方法:str.index(str, beg=0, end=len(string)) 检测字符串中是否包含字符串str,在beg和end范围内,如果有返回字符串开始的索引值,如果没有则报异常

第十一个方法: 'isalnum', 如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False 无入参,string.isalnum()这样使用就可以

第十二个方法:isalpha() 方法检测字符串是否只由字母组成,如果只有字母返回True,否则返回False,同样无入参,string.isalpha()这样使用即可

第十三个方法:isdigit() 方法检测字符串是否只由数字组成,如果只有数字返回True,否则返回False,同样无入参,

第十四个方法:islower() 方法检测字符串是否由小写字母组成,如果只有小写字母返回True,否则返回False,同样无入

第十五个方法:isspace() 方法检测字符串是否只由空格组成,如果是返回True,否则返回False

第十六个方法:istitle() 方法检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写。

第十七个方法:isupper() 方法检测字符串中所有的字母是否都为大写

第十八个方法:join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串,

str.join(sequence)#入参为一个序列
str = "-";
seq = ("a", "b", "c"); # 字符串序列
print str.join( seq );

第十九个方法:ljust方法返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串

str.ljust(width[, fillchar])   参数     width -- 指定字符串长度。  fillchar -- 填充字符,默认为空格。

mystr='name'
print mystr.ljust(10,'*') 返回name******
print mystr.ljust(3,'*') 返回name

第二十个方法:'lower',将字符串中所有的大写字母都转换为小写

第二十一个方法: lstrip() 方法用于截掉字符串左边的空格或指定字符

用法:str.lstrip([chars]) chars --指定截取的字符。

第二十二个方法:partition() 方法用来根据指定的分隔符将字符串进行分割。

如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。

str = "www.xxx.com"
print str.partition(".") 返回tuple('www','.','xxx','.com')

第二十三个方法:replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。

replace()方法语法:str.replace(old, new[, max])

参数:
old -- 将被替换的子字符串。
new -- 新字符串,用于替换old子字符串。
max -- 可选字符串, 替换不超过 max 次
返回值:
返回字符串中的 old(旧字符串) 替换成 new(新字符串)后生成的新字符串,如果指定第三个参数max,则替换不超过 max 次。

str = "this is string example....wow!!! this is really string";
print str.replace("is", "was");
print str.replace("is", "was", 3);
以上实例输出结果如下:

thwas was string example....wow!!! thwas was really string
thwas was string example....wow!!! thwas is really string

第二十四个方法:rfind() 返回字符串最后一次出现的位置(从右向左查询),如果没有匹配项则返回-1。

rfind()方法语法:str.rfind(str, beg=0 end=len(string))

参数
str -- 查找的字符串
beg -- 开始查找的位置,默认为 0
end -- 结束查找位置,默认为字符串的长度。
返回值
返回字符串最后一次出现的位置,如果没有匹配项则返回-1。

第二十五个方法'rindex'

第二十六个方法:'rjust'

第二十七个方法:'rpartition',

第二十八个方法:'rsplit',

第二十九个方法:'rstrip'

第三十个方法:split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串

split() 方法语法:str.split(str="", num=string.count(str)).

参数
str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num -- 分割次数。默认为 -1, 即分隔所有。

 

第三十一个方法:'splitlines'

第三十二个方法:'startswith',

第三十三个方法:strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。

strip()方法语法:str.strip([chars]);

参数:chars -- 移除字符串头尾指定的字符序列。

返回值:返回移除字符串头尾指定的字符生成的新字符串。

第三十四个方法:swapcase() 方法用于对字符串的大小写字母进行转换

第三十五个方法:title() 方法返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写

第三十六个方法:'translate'

第三十七个方法:upper() 方法将字符串中的小写字母转为大写字母

第三个八个方法:zfill() 方法返回指定长度的字符串,原字符串右对齐,前面填充0。

zfill()方法语法:str.zfill(width)参数

width -- 指定字符串的长度。原字符串右对齐,前面填充0。

 

posted @ 2019-10-12 16:25  自动化前行者  阅读(520)  评论(0编辑  收藏  举报