python数据类型-必须掌握的字符串的方法
一:☆字符串需要掌握的方法
#1、strip,lstrip,rstrip #2、lower,upper #3、startswith,endswith #4、format的三种玩法 #5、split,rsplit #6、join #7、replace #8、isdigit
1.strip #移出字符串头尾指定的字符,默认是空格
#strip(chars)方法的参数 ,默认是空格 print(' egrep '.strip()) #返回结果如下 #egre
#lstrip #移除指定字符串左边的字符,默认是空格
print(' ****egrep'.lstrip(' *')) #指定空格 和* 移除的字符
#返回结果
egrep
#rstrip #移除字符串右边的指定字符,默认是空格
print('egrep ****'.rstrip(' *'))
#返回结果
egrep
2.lower,upper lower #是将字符串大写变换成小写,upper 是将所有的小写字符变成大写
#lower 转换所有的大写字符串为小写 #upper 转换所有的小写字符串为大写 # print('ALeX'.lower()) # print('aaa'.upper())
3.startswith,endswith #以什么字符开头,以什么字母结尾 返回布尔值 true false
#startswith print('abcd'.startswith('ab')) #输入ab 是以ab 开头所以True #返回结果: True print('abcd'.startswith('ss')) #输入一个没有开头的字符,返回False #返回结果 False #endswith print('abcd'.endswith('cd')) print('abcd'.endswith('d')) #返回结果: Trule print('abcd'.endswith('ssd')) #返回结果: Fasle
4.format的三种玩法
# 我们之前学习过的占位符%s %d #前面两种了解,第3种方法比较实用键值对 #print ("my name is %s" %('egrep')) 1.按照顺序 类似 %s 占位符 # print('my nam is {} my age is {}'.format('egrep',18)) #这里的{}是占位符,format 按照顺序传值 2.按照索引 # print('my nam is {0} my age is {1}'.format('egrep',18)) 3.☆按照键值对方式赋值 print('my nam is {name} my age is {age}'.format(age=18,name='egrep'))
5.split lsplit rsplit #对字符串进行切割处理
info='root:x:0:0' l1 = info.split(':') #通过指定分隔符为:冒号,进行切割,产生一个列表 print(l1) #返回结果如下: ['root', 'x', '0', '0']
6. join #恰好与split 相反,把一个字符串进行拼接
#把某一个列表 按照某一个分隔符,拼成一个字符串 #只有在列表内的元素全是字符串类型,才能用join拼接 info='root:x:0:0' l1 = info.split(':') print(':'.join(l1)) #返回结果: root:x:0:0 ######## # l=[1,2,3] # ' '.join(l) #报错:只有在列表内的元素全是字符串类型,才能用join拼接
7.replace #替换
#replace替换(old,new,count) #old 老的值 new 要改的新的值 count 改几次 #不指定count 次数,全改。 #字符串是不可变类型,不能改字符串的值,把原来的值 # msg='alex say my name is alex ,alex have on tesla' # msg=msg.replace('alex','SB',1) # print(msg)
8.☆isdigit #判断字符串里面包含是不是纯数字, 是的Trule 否则 Flase
# age=input('>>: ').strip() # # print(age.isdigit()) #age='123' # if age.isdigit(): # age=int(age) # else: # print('必须输入数字')
#以上方法都必须熟练掌握,前面标示☆的必须熟练掌握和应用
9.了解的字符串方法
sg='hello world' # print(msg.find('wo')) # print(msg.find('SB')) # print(msg.index('wo')) # print(msg.index('SB')) #ValueError: substring not found # print(msg.count('l')) # print(msg.count('SB')) #2、center,ljust,rjust,zfill # print('egon'.center(30,'*')) # print('egon'.ljust(30,'*')) # print('egon'.rjust(30,'*')) # print('egon'.zfill(30)) #3、expandtabs # print('hello\tworld'.expandtabs(10)) #4、captalize,swapcase,title # print('i am egon'.capitalize()) # print('i am egon'.title()) # print('AbC'.swapcase()) #5、is数字系列 # num1=b'4' #bytes # num2=u'4' #unicode,python3中无需加u就是unicode # num3='壹' #中文数字 # num4='Ⅳ' #罗马数字 #bytes,unicode # print(num1.isdigit()) # print(num2.isdigit()) # print(num3.isdigit()) # print(num4.isdigit()) #unicode # print(num2.isdecimal()) # print(num3.isdecimal()) # print(num4.isdecimal()) #unicode,中文,罗马 # print(num2.isnumeric()) # print(num3.isnumeric()) # print(num4.isnumeric()) #6、is其他 # name='egon123' # print(name.isalnum()) #字符串由字母或数字组成 # print(name.isalpha()) #字符串只由字母组成 # print('print1111'.isidentifier()) # print('abcA'.islower()) # print(name.isupper()) # print(' '.isspace()) # print('Am Ia'.istitle())
9.字符串方法的练习题:
# 写代码,有如下变量,请按照要求实现每个功能 (共6分,每小题各0.5分) name = " Egrep" # 1) 移除 name 变量对应的值两边的空格,并输出处理结果 # 2) 判断 name 变量对应的值是否以 "Eg" 开头,并输出结果 # 3) 判断 name 变量对应的值是否以 "p" 结尾,并输出结果 # 4) 将 name 变量对应的值中的 “e” 替换为 “t”,并输出结果 # 5) 将 name 变量对应的值根据 “e” 分割,并输出结果。 # 6) 将 name 变量对应的值变大写,并输出结果 # 7) 将 name 变量对应的值变小写,并输出结果 # 8) 请输出 name 变量对应的值的第 2 个字符? # 9) 请输出 name 变量对应的值的前 3 个字符? # 10) 请输出 name 变量对应的值的后 2 个字符? # 11) 请输出 name 变量对应的值中 “e” 所在索引位置? # 12) 获取子序列,去掉最后一个字符。如: egrep 则获取 egr
# 写代码,有如下变量,请按照要求实现每个功能 (共6分,每小题各0.5分) name = " Egrep" # 1) 移除 name 变量对应的值两边的空格,并输出处理结果 name = " Egrep" a=name.strip() print(a) #结果如下: #Egrp # 2) 判断 name 变量对应的值是否以 "Eg" 开头,并输出结果 name = " Egrep" name = " Egrep" if name.startswith('Eg'): print(True) else: print(False) #结果如下: #Fasle # 3) 判断 name 变量对应的值是否以 "p" 结尾,并输出结果 name = " Egrep" if name.endswith('p'): print(True) else: print(False) #结果如下: #True # 4) 将 name 变量对应的值中的 “E” 替换为 “A”,并输出结果 name = " Egrep" print(name.replace('E','A')) #结果如下: # Agrep # 5) 将 name 变量对应的值根据 “e” 分割,并输出结果 name = " Egrep" print(name.split('e')) #结果如下: #[' Egr', 'p'] #切割回生成一个列表 # 6) 将 name 变量对应的值变大写,并输出结果 name = " Egrep" print(name.upper()) #结果如下: # EGREP # 7) 将 name 变量对应的值变小写,并输出结果 name = " Egrep" print(name.lower()) #结果如下: # egrep # 8) 请输出 name 变量对应的值的第 2 个字符? #这里的第二个字符,是E,我们通过索引取值,下标是从0开始,也就是索引是从0开始取,第二个值 就是索引就是1 name = " Egrep" print(name[1]) #结果如下: #E # 9) 请输出 name 变量对应的值的前 3 个字符? name = " Egrep" print(name[:3]) #结果如下: #Eg # 10) 请输出 name 变量对应的值的后 2 个字符? name = " Egrep" print(name[-2:]) #结果如下: #ep # 11) 请输出 name 变量对应的值中 “e” 所在索引位置? name = " Egrep" print(name.index('e')) #结果如下: #4 # 12) 获取子序列,去掉最后一个字符。如:egrep 则获取egre. name = " Egrep" a = name[:-1] print(a)