Python字符串內建函数实现了string模块的大部分方法,并包括了对Unicode编码方式的支持。
(1)capitalize():
将字符串的第一个字母变成大写,其他字母变小写。对于 8 位字节编码需要根据本地环境。
>>> str=‘I AM MenAngel!‘+‘I am Student!‘ >>> print(str) I AM MenAngel!I am Student! >>> str.capitalize() ‘I am menangel!i am student!‘
(2)center(width):
返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。默认填充字符为空格。
>>> str=‘title:Python and Big data!‘ >>> str ‘title:Python and Big dat!‘ >>> str.center(40) ‘ title:Python and Big dat! ‘ >>>
(3)count(sub, start= 0,end=len(string)):
用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。
>>> str=‘xiaoming and MenAngel and xiaohua‘ >>> str.count(‘and‘,10,20) 0 >>> str.count(‘and‘,0,len(str)) 2
(4)encode(encoding=‘UTF-8‘,errors=‘strict‘):
以 encoding 指定的编码格式编码字符串。默认编码为字符串编码。该方法返回编码后的字符串。
参数:
encoding -- 要使用的编码,如"UTF-8"。 errors -- 设置不同错误的处理方案。默认为 ‘strict‘,意为编码错误引起一个UnicodeError。 其他可能得值有 ‘ignore‘, ‘replace‘, ‘xmlcharrefreplace‘, ‘backslashreplace‘ 以及通过 codecs.register_error() 注册的任何值。
实例:
>>> str=‘This is a string example!‘ >>> str=str.encode(‘utf-8‘,‘strict‘) >>> print(str) b‘This is a string example!‘
encode解码用字符串编码方式的字符串,返回bytes类型。并且不能再次被解码:
str=str.encode(‘base‘,‘strict‘) Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: ‘bytes‘ object has no attribute ‘encode‘
(5)deconde():
以 encoding 指定的编码格式解码字符串。默认编码为字符串编码。
参数与(4)类似:
>>> str=‘This is a string example!‘ >>> str=str.encode(‘utf-8‘,‘strict‘) >>> print(str) b‘This is a string example!‘ >>> str=str.decode(‘utf-8‘,‘strict‘) >>> print(str) This is a string example! >>> str ‘This is a string example!‘
(6)endswith(suffix[, start[, end]]):
endswith() 方法用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False。可选参数"start"与"end"为检索字符串的开始与结束位置。
参数:
suffix -- 该参数可以是一个字符串或者是一个元素。 start -- 字符串中的开始位置。 end -- 字符中结束位置。
如果字符串含有指定的后缀返回True,否则返回False。
>>> str=‘上海自来水来自哪里啊?上海!‘ >>> suffix=‘上海‘ >>> str.endwith(suffix,0,length(str)-1) >>> str.endswith(suffix,0,len(str)-1) False >>> str.endswith(suffix,0,2) True >>> str[0:len(str)-1] ‘上海自来水来自哪里啊?上‘ >>> str ‘上海自来水来自哪里啊?上海‘ #结论:叹号不再字符串里
(7)expandtabs(tabsize=4):
把字符串中的 tab 符号(‘\t‘)转为空格,tab 符号(‘\t‘)默认的空格数是 4。该方法返回字符串中的 tab 符号(‘\t‘)转为空格后生成的新字符串。
>>> print(str) 你好啊 MenAngel >>> print(str.expandtabs(10)) 你好啊 MenAngel >>> print(str.expandtabs(0)) 你好啊MenAngel >>> print(str) #str并未改变,此函数创建了一个副本 你好啊 MenAngel
(8)find(str, beg=0, end=len(string)):
检测字符串中是否包含子字符串 str ,如果指定 beg(开始)和 end(结束)范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。
>>> str=‘loyalty is the foundation on which the night\‘s wath was built‘ >>> str "loyalty is the foundation on which the night‘s wath was built" >>> print(str.find(‘is‘,5)) 8 >>> print(str.find(‘xiaoming‘,0,len(str)-5)) -1
(9)find(str, beg=0, end=len(string))
检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。
参数:
str -- 指定检索的字符串 beg -- 开始索引,默认为0。 end -- 结束索引,默认为字符串的长度。
实例:(find与index的区别)
>>> str "loyalty is the foundation on which the night‘s wath was built" >>> str.index(‘is‘) 8 >>> str.index(‘Men‘) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: substring not found >>> str.find(‘Men‘) -1