字符串的内建函数:声明一个字符串,默认可以调用的内建函数(系统准备好的一些函数)
1、第一部分:大小写相关的
capitalize() title() istitle() upper() isupper() lower() islower()
message = 'zhaorui is a beautiful girl!'
message1 = message.capitalize() #将字符串的第一个字符转成大写的表示形式
print(message1)
message1 = message.title() #每个单词的首字母大写
print(message1)
result = message1.istitle()#返回是布尔值
print(result)
message1 = message.upper() #每个字符转成大写
print(message1)
message1 = message.lower() #每个字符转成小写
print(message1)
案例:生成验证码
2、第二部分:查找相关的、替换
#find() rfind() lfind() index() rindex() lindex() replace()
s1 = 'index lucy lucky goods'
result = 'R' in s1 #这种只能返回布尔值
print(result)
position = s1.find('R') #返回值是-1则代表没有找到,找到了会返回地址
print(position)
position = s1.find('l') #如果可以找到,则返回字母第一次出现的位置
print(position)
#find('要查找的字符',start,end)
p = s1.find('l',position+1, len(s1)-5) #也可以指定开始位置查找
print(p)
#https://tiebapic.baidu.com/forum/w%3D580%3B/43901213f9271.jpg
url = 'https://tiebapic.baidu.com/forum/w%3D580%3B/43901213f9271.jpg'
p = url.rfind('/') #right find 从右侧开始找
print(p)
filename = url[p+1:]
print(filename)
p = url.rfind('.') #right find 从右侧开始找
print(p)
kz = url[p+1:]
print(kz)
index(str,beg=0,end =len(string))
跟find()方法一样,只不过如果str不在字符串中会报一个异常
p = 'hello'.index('x')
print(p)
ValueError: substring not found
#替换
s1 = 'index lucy lucky goods'
s2 = s1.replace(' ','#',2) #2代表替换2次
print(s2) #index#lucy#lucky goods
3、第三部分:字符串的内建函数
encode 编码 decode 解码 startswith 是否是以XXX开头的 endswith 是否是以XXX结尾的 返回是布尔值 isalpha()是否都是字母 isdigit()是否都是数字 join() :'-'.join('abc') 将abc用-连接构成一个新的字符串 lstrip() rstrip() strip() split() count(args)
#编码 网络应用 中文一般涉及编码问题
msg = '上课啦,请认真听课!'
#gdk中文 gd2312简体中文 unicode
result = msg.encode('utf-8')
print(result) #b'\xe4\xb8\x8a\xe8\xaf\xbe\xe5\x95\xa6\xef\xbc\x8c\xe8\xaf\xb7\xe8\xae\xa4\xe7\x9c\x9f\xe5\x90\xac\xe8\xaf\xbe\xef\xbc\x81'
#解码
result = result.decode('utf-8')
print(result)
filename = '笔记.doc'
result = filename.endswith('txt')
print(result)
s = 'hello'
result = s.startswith('he')
print(result)
案例:判断文件类型
s = 'abcd'
result = s.isalpha()
print("result:",result )
s = '6666'
result = s.isdigit()
print("result:",result )
案例:输入3个数字进行累加
join() :'-'.join('abc') 将abc用-连接构成一个新的字符串
new_str = '-'.join('abc')
print(new_str) #a-b-c
#python 列表 list = ['q','e','j','9']
list1 = ['q','e','j','9']
result = ''.join(list1)
print(result) #qej9
result = ' '.join(list1)
print(result) #q e j 9 ---->字符串类型
#lstrip rstrip strip
s = ' hello '
s = s.lstrip() #去除字符串左侧空格:hello 8
print(s+'8')
s = ' hello '
s = s.rstrip() #去除字符串右侧空格: hello8
print(s+'8')
s = ' hello '
s = s.strip() #去除字符串俩侧空格:hello8
print(s+'8')
# split() 以第一个参数分割,分割第二个参数次(可以省略第二个参数),分个字符串,将分个后的字符串保存到列表中 count(args) 求字符串中制定的args的个数
s = 'hello world hello kitty'
result = s.split(' ',2) #['hello', 'world', 'hello kitty']
print(result)
n = s.count(' ') #count(args) 求字符串中制定的args的个数
print('个数:',n) #个数: 3
s = 'dfhsjfkdjffgdshfgjsdkksssffffff' #s的个数: 6
print('s的个数:',s.count('s'))