字符串专题

字符串专题

'''
Created on 2019年12月1日

@author: hp
'''
'''截取字符串'''
str2="我是迪迦奥特曼"
str3=str2[:5]
str4=str2[0:len(str2):2]
print(str3,str4)
# 截取的字符串如果不存在,会出现异常,可以用try...except捕捉异常
try:
    str5=str2[10]#取出10下标上的字符
    print(str5)
except IndexError:
    print("指定索引不存在")
'''分割字符串'''
str6="1,2,3,4,5,6,7"
str7=str6.split(',', -1)#第一个参数为分割字符,第二个参数为分割几个,-1或不写表示无限制
print(str7)
str8='迪 迦 奥 特 曼    >>>    3,000万年前'
print(str8)
list0=str8.split(' ')#该分割连续出现空格时会分割出来空字符,但是下面一行的方式并不会出现空字符
list1=str8.split()  #不指定参数默认按照空格分割
list2=str8.split('>>>')
list3=str8.split(',')
list4=str8.split(' ',4)
print(str(list0)+'\n'+str(list1)+'\n'+str(list2)+'\n'+str(list3)+'\n'+str(list4))
'''count 方法 '返回指定字符串中某个字符串出现的次数'''
start=0
end=5
print(str8.count(' ',start,end))#start与end为可选参数可以省略
'''find 方法如果不存在返回-1,否则返回索引'''
print(str8.find('曼'),str8.find('#'))
'''in关键字也可以判断是否存在某字符串'''
print('奥 特 曼' in str8)
'''rfind()方法与find()几乎相同,区别是从右边开始查找'''
'''index()方法与find()方法依旧相同,只是如果不存在程序会抛出异常'''
try:
    '奥特曼'.index('aa') 
except : print('程序抛出异常')
'''rindex()方法类似于rfind()方法 '''
'''startswith()方法 endswith()方法用法与find相同,判断是否以某一字符串开始或结束'''
'''lower()方法将字符串转换成小写字母,upper()将小写子母转换成大写'''
str9="aBcDeFg"
print(str9.lower())
print(str9.upper())
'''strip()方法可以去除字符串左右两端的空格 回车符 换行符 制表符,lstrip()方法只去除左端,rstrip()方法只去除右端,加参数的话就表示去除对应参数'''
str10="   123   "
print(str10.lstrip()+'*')
print(str10.rstrip()+'*')
print(str10.strip()+'*')
str10="123"
print(str10.strip('1'))
'''格式化字符串'''
#'%[-][+][0][m][.n]格式化字符串'%exp
# 支持格式化输出元组,但不支持格式化输出列表
#也可以格式化输出单个数
template='编号: %09d\t公司名称: %s \t 官网: http://www.%s.com'
context1=(7,'百度','baidu')
context2=(8,'明日学院','migrixueyuan')
print(template%context1)#编号: 000000007    公司名称: 百度      官网: http://www.baidu.com
print(template%context2)#编号: 000000008    公司名称: 明日学院      官网: http://www.migrixueyuan.com
print('这个数字是:%5d'%123)#这个数字是:  123
'''除以上方法外,python还提供了一个format()方法用以格式化输出字符串'''
#str.format(args)
'''模板语法格式'''
#{[index][:[[fill]align][sign][#][width][.precision][type]]}
'''
index表示指定的要输出的内容的位置,如0表示第一个要输出的,如果省略,表示从前到后,如果手动填写索引,
那么之后呢每一个都需要填写,否则会抛出异常.
fill表示用指定的字符填充空白
align表示对其方式 <表示右对齐 >表示左对齐 =表示内容右对齐 并把符号放在填充内容的左侧 且只对数字类型有效 ^ 表示居中
sign表示有无符号数 +表示证书加正号,负数加负号 ;-表示正数不变,负数加负号; 空格表示正数加空格,负数加负号
#对于输出二进制,八进制,十六进制时,加上#会显示0b/0o/0x前缀
width表示指定宽度
.precision表示保留几位
type指定类型即s c d e g b o x f %
'''
template='编号:{:0>9s}\t公司名称:{:s}\t官网:http://www.{:s}.com'
context=template.format('7','百度','baidu')
context2=template.format('8','明日学院','mingrisoft')
print(context)
print(context2)
t='{:*=+10.3f}'#+****5.210
t='{:*>+10.3f}'#****+5.210
t='{:*<+10.3f}'#+5.210****
print(t.format(5.21))

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值