Python学习之字符串内建函数

capitalize()方法

即将字符串的第一个字母变成大写,其他字母变小写。

语法

str.capitalize()


#需要注意的是:

#1、首字符会转换成大写,其余字符会转换成小写。

#2、首字符如果是非字母,首字母不会转换成大写,会转换成小写。

>>> para_str='asfasdg'
>>> str.capitalize(para_str)
'Asfasdg'
>>> para_str='123asfasdg'
>>> str.capitalize(para_str)
'123asfasdg'
>>> para_str='asfASDdg'
>>> str.capitalize(para_str)
'Asfasddg'

 

center()方法

即返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。

语法

str.center(width[, fillchar])
#width -- 字符串的总宽度
#fillchar -- 填充字符。
#返回一个指定的宽度 width 居中的字符串,如果 width 小于字符串宽度直接返回字符串,否则使用 fillchar 去填充。


#示例:
>>> str='a'
>>> str.center(40,'*')
'*******************a********************'
>>> str.center(10,'*')
'****a*****'
>>> str.center(9,'*')
'****a****'

#1、如果 width 小于字符串宽度直接返回字符串,不会截断:
>>> str='12345'
>>> str.center(3,'*')
'12345'

#2、fillchar 默认是空格
>>> str.center(8,' ')
' 12345  '

3、fillchar 只能是单个字符
>>> str.center(8,'sad')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: The fill character must be exactly one character long

count()方法

用于统计字符串里某个字符出现的次数。

语法

str.count(sub, start= 0,end=len(string))
#sub -- 搜索的子字符串
#start -- 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0。
#end -- 字符串中结束搜索的位置。字符中第一个字符的索引为 0。默认为字符串的最后一个位置。

>>> str='abcaabcabccba'
>>> sub='abc'
>>> str.count(sub,0,13)
3
>>> sub='a'
>>> str.count(sub,0,13)
5

bytes.decode()方法

即以指定的编码格式解码 bytes 对象。默认编码为 'utf-8'。

语法

bytes.decode(encoding="utf-8", errors="strict")
#encoding -- 要使用的编码,如"UTF-8"。
#errors -- 设置不同错误的处理方案。默认为 'strict',意为编码错误引起一个UnicodeError。 其他可能得值有 'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace' 以及通过 codecs.register_error() 注册的任何值。


>>> str='菜不成声'
>>> str_utf8=str.encode("utf-8")    #Utf-8编码
>>> str_gbk=str.encode("gbk")       #GBK编码
>>> print(str)
菜不成声
>>> print(str_utf8)
b'\xe8\x8f\x9c\xe4\xb8\x8d\xe6\x88\x90\xe5\xa3\xb0'
>>> print(str_gbk)
b'\xb2\xcb\xb2\xbb\xb3\xc9\xc9\xf9'
>>> print(str_utf8.decode('utf-8','strict'))     #UTF-8解码
菜不成声
>>> print(str_gbk.decode('gbk','strict'))        #GBK解码
菜不成声

endswith()方法

即用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回 True,否则返回 False。可选参数 "start" 与 "end" 为检索字符串的开始与结束位置。

语法

str.endswith(suffix,start,end)
#suffix -- 该参数可以是一个字符串或者是一个元素。
#start -- 字符串中的开始位置。
#end -- 字符中结束位置。
#注意:start把0当作初始下标开始检索,end把1当作初始下标开始检索。


>>> str='12345'
>>> suffix='2345'
>>> print(str.endswith(suffix))
True
>>> print(str.endswith(suffix,1))
True
>>> print(str.endswith(suffix,1,2))
False
>>> print(str.endswith(suffix,1,5))
True
>>> print(str.endswith(suffix,2,5))
False
>>> print(str.endswith(suffix,0,5))
True
>>> print(str.endswith(suffix,0,4))
False
>>> print(str.endswith(suffix,3,5))
False

startswith()方法

即用于检索字符串是否以指定字符串开头,如果是返回 True;反之返回 False。

语法

str.startswith(sub,start,end)
#str:表示原字符串;
#sub:要检索的子串;
#start:指定检索开始的起始位置索引,如果不指定,则默认从头开始检索;
#end:指定检索的结束位置索引,如果不指定,则默认一直检索在结束。

#【例 1】判断“c.biancheng.net”是否以“c”子串开头。
>>> str = "c.biancheng.net"
>>> str.startswith("c")
True

#【例 2】
>>> str = "c.biancheng.net"
>>> str.startswith("http")
False

#【例 3】从指定位置开始检索。
>>> str = "c.biancheng.net"
>>> str.startswith("b",2)
True

expandtabs()方法

即把字符串中的 tab 符号('\t')转为空格,tab 符号('\t')默认的空格数是 8。该方法返回字符串中的 tab 符号('\t')转为空格后生成的新字符串。

语法

str.expandtabs(tabsize=8)
#tabsize -- 指定转换字符串中的 tab 符号('\t')转为空格的字符数。

#\t 是补全当前字符串长度到8的整数倍,最少 1 个最多 8 个空格。

#补多少要看你 \t 前字符串长度。

#比如当前字符串长度 10,那么 \t 后长度是 16,也就是补 6 个空格。

#如果当前字符串长度 12,此时 \t 后长度是 16,补 4 个空格。

#实例:

>>> str1 = "this is\tstring example....wow!!!"
>>> str2 = "athis is\tstring example....wow!!!"
>>> str3 = "athis is        string example....wow!!!"  # is 和 string 中间输入 8 个空格
>>> print(str1)
this is string example....wow!!!            # \t 前有 7 个字符,补充 0 个空格
>>> print("a"+str1)
athis is        string example....wow!!!    # \t 前有 8 个字符,补充 8 个空格
>>> print(str2)
athis is        string example....wow!!!    # 同上
>>> print(str3)
athis is        string example....wow!!!    # 8 个空格的效果,做对比

find()方法

即检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果指定范围内如果包含指定索引值,返回的是索引值在字符串中的起始位置。如果不包含索引值,返回-1。

语法

str.find(str, beg=0, end=len(string))
#str -- 指定检索的字符串
#beg -- 开始索引,默认为0。表示开始索引的下标位置。
#end -- 结束索引,默认为字符串的长度。表示结束索引的下标位置。


>>> str1='1234512345'
>>> str2='12345'
>>> print(str1.find(str2))
0
>>> print(str1.find(str2,2,11))
5
>>> print(str1.find(str2,2,9))
-1
>>> print(str1.find(str2,2,10))
5
>>> print(str1.find(str2,4,10))
5
>>> print(str1.find(str2,5,10))
5
>>> print(str1.find(str2,6,10))
-1
>>> str1 = "Runoob example....wow!!!"
>>> str2 = "exam";
>>>
... print (str1.find(str2))
7
>>> print (str1.find(str2, 5))
7
>>> print (str1.find(str2, 10))
-1

index()方法

即检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。

语法

同find()方法!

isalnum()方法

即检测字符串是否由字母和数字组成。如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False

语法

str.isalnum()

#测试:
>>> str='123asd'
>>> print(str.isalnum())
True
>>> str='123!asd'
>>> print(str.isalnum())
False
>>> str='123菜不成声asd'    #如果字符串里面有汉字的话,也返回 True:
>>> print(str.isalnum())
True

isalpha()方法

即检测字符串是否只由字母或文字组成。如果字符串至少有一个字符并且所有字符都是字母或文字则返回 True,否则返回 False。

#测试:
>>> str=' mohujihui'
>>> print(str.isalpha())
False
>>> str='mohujihui'
>>> print(str.isalpha())
True
>>> str='菜不成声'                #isalpha() 方法,汉字也会返回 True
>>> print(str.isalpha())
True

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值