字符串内置方法

####判断是否是字母:isalpha()        判断是否是数字(): isdigit()

s = 'abc16'

result = s.isalpha()  #Flase  返回布尔型   isdigit用法一样

####   join()

str = '-'.join('abc')   #返回值:a-b-c

list = ['a','b','c']

str = '*'.join(list1)   #返回值:a*b*c

####去除空格 lstrip()  rstrip()   strip()

s = '        http://www.cnblogs.com/adong-        '

result = s.lstrip()    #去除左侧的空格    rstirp() 去除右侧空格     strip()   去除左右空格

####分割字符串   split()

s = 'hello world hello kitty'

result = s.split(' ')   #以空格切割,并放入列表  ['hello', 'world', 'hello', 'kitty']

result = s.split(' ',2)   #以空格分割,分割两次   ['hello', 'world', 'hello kitty']

####count

result = s.count(' ')   #count('args')  求字符串中args的个数

####字符串运算符

s1 = 'a'

s2 = 'b'

s1 = s1+s2    #拼接

s2 = s2*5      #倍数

#### in 在什么什么里面

name = 'steven'

result = 't' in name   #返回布尔型  按整个字符串查找  eg:t存在  但是tv不存在

result = 'tv' not in name   #Ture

####查找:find()   rfind()  lfind()   index()  

s1 = 'index luck lunck goods'

result = s1.find('R')  #返回-1代表没找到

result = s1.find('l')   #返回值6  (向右查找,下标从零开始,包括空格,如果找到,则返回字母第一次出现的位置)

####字符串格式化

print('%s说:%s'%name,"你好“)) #steven说:你好

#  r  保留原格式

print(r'%s说:%s\r\n')    #%s说:%s\r\n

####  [ ]      [start:end]

firename='picture.png'

print(filename[1])    #返回值 i ,截取,下标从0开始  只能截取一个字符

print(filename[0:5])  #范围截取  包前不包后

#省略
print(filename[:5]) #省略后面,一直取到末尾 省略前面,默认0

#负数
print(filename[8:-1]) #从8开始,到末尾-1 就是不包含末尾
print(filename[:-4]) #从开始 不包含末尾4个
print(filename[-2:]) #包前不包后 往后走没有了,包前2个
print(filename[-5:-1])#包前不包后
#倒叙输出 [::]
print(filename[::-1]) # -1表示方向,倒叙 1:正序
print(filename[-1:-5:-1]) #[start:end:方向]
#规则 先按方向走 在方向的基础在开始取值
#eg print(filename[0:5:-1])
# -1,<<<从后往前走,从零开始取前取,零前面没有值,所以为空
print([filename[::2]]) #2表示步长,正序按步长取值 -2 倒叙按步长取

#字符串的内建函数:声明一个字符串,默认可以调用内建函数(系统准备好的一些函数)
#第一部分:大小写相关的
#capitalize() title()/istitle() upper()/isupper() lower()/islower()

message='i am so cool!'
m=message.capitalize() #首字符转换为大写
print(m)

m=message.title() #每个单词的首字符转换为大写
print(m)

m=message.istitle() #判断首字符是否大写 返回布尔型
print(m)

m=message.upper() #全部转换为大写
print(m)

m=message.lower() #将大写全部转换为小写
print(m)

# 验证码案例
s='ASDFSAWsdfsdfa1264'
print(len(s)) #求字符串长度,返回整型

import random
ran=random.randint(1,len(s)-1)
print(ran)

print(s[ran])
# IndexError: string index out of range :下标或索引错误,超出范围
#下标是从零开始的,而len是从一开始的,所以下标得len-1
#务必注意下标

#验证码案例######################################
# s="ASDFGHJKLZXCVBNMQWERTYUIOPqwertyuiopasdfghjklzxcvbnm"
# import random
# ran=random.randint(1,len(s)-1)
# code=s[ran:ran+4] #四个字符
# print('你的验证码%s',code)
# usr=input('请输入验证码:')

# if code.lower()==usr.lower() or code==usr or code.upper()==usr.upper():
# print('验证成功!')
# else:
# print('验证错误!')

#find('要查找的字符’,start ,end)

posi = s1.find('1',result+1,len(s1)   #指定位置查找,即result查找到的第六位往后继续查找,用s1的长度结尾

url = ‘http://www.cnblogs.com/adong-'

p = url.rind('/')  # right find 从右侧开始查找  lfind:left find  从左侧开始查找  index 跟find方法一样,只不过index找不到字符串会报异常

替换:replace('查找对象’,‘替换’,[替换次数])

replc = s1.replace(' ','#')   #将空格替换成#

#encode编码 decode解码

msg='哈哈哈哈'
print(msg)
result=msg.encode('utf-8')
#默认 utf-8 gbk中文 gbk-2312 简体中文
print(result)
m=result.decode('utf-8')
print(m)

##################
#字符串内建函数: startwith() endswith() 返回值布尔类型

#startwith()判断是否是以某某开头 endswith()或者结尾

filename = 'a.doc'
result= filename.endswith('doc')
print(result)

# s= 'hello'
# result=s.startwith('H') #区分大小写,并且不当当只判断一个字母

# print(result)

##文件上传案例
path = input('请选择文件:') #c:\file\a.jpg
p= path.rfind('\\')
filename = path[p+1:]
if filename.endswith('jpg') :
print(filename)

 

posted @ 2020-04-24 13:11  _阿东  阅读(68)  评论(0)    收藏  举报