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)

 

    

posted @ 2017-12-11 19:15  Egrep  阅读(397)  评论(0编辑  收藏  举报