Python 字符串操作

mystr="""生活中程序猿的真实写照、
一款游戏一包烟,一台电脑一下午。
一盒泡面一壶水,一顿能管一整天"""
print(mystr[0]) #生
print(mystr[1])  #活
print(mystr[-1])  #天
print(mystr[:]) #整个字符串
print(mystr[2:]) #从编号为2的开始截取一直到最后
print(mystr[:6]) #从开头到编号为 6 的字符,0-5
print(mystr[3:6])
print(mystr[12:20]) #换行也是一个字符
print(mystr[-15:-8])#负索引

############################################################
mystr="hello python2 hello python3"
print(mystr.capitalize())#第一个字符转化为大写
print(mystr)
#mystr.title()


mystr="8888"
for  i  in range(6,40,2):
    for j  in range((40-i)//2,0,-1):
        print(" ",end="")
    print(mystr.center(i,'*'))


'''
center(width, fillchar)
返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。
'''

mystr="hello python2 hello python3"
print(mystr.count('python')) #判断字符串出现的次数
print(mystr.count('python',10)) #判断字符串出现的次数,从10个到最后
print(mystr.count('python',10,15)) #判断字符串出现的次数,从10个到15个

##############################################################

#Tab转换
file= input("输入一个文件名称")
print(file.endswith(".txt")) #判断文件是否以某个字符串为结束

mystr="1\t2\t3"  #\t转化为空格 默认8个,tabsize=1制定数量
print(mystr.expandtabs(tabsize=1))


#查找
mystr="张山	李四	王五	"
#print(mystr.find("李四")) #find返回第一个  ,从头部
print(mystr.rfind("李四")) #rfind返回最后一个
print(mystr.rfind("李四",6))
print(mystr.rfind("李四",6,11))
print(mystr.rindex("李四",6,11))   #index和find相同,只是index找不到会报错


print("hello123我".isalnum()) #判断字符串是否由数字字母组成,汉字当作字母
print("13213213213a".isdigit()) #判断字符串是否纯数字
print("advcf我".isalpha()) #判断字符串纯字母
print("abc我".islower()) #判断都是小写,#汉字没有大小写
print("ABC我".isupper()) #判断都是大写
print(" ".isspace()) #判断字符串是否纯空格组成
print("hello".istitle()) #istitle是否首字母大写且其他字母小写
print("0x109".isdecimal()) #判断进制

#连接
print("-".join("abcdefg"))
print("----".join("abc defg"))  #"abcdefg"每个字符串之间每两个字符之间插入一个字符串间隔
print(len("sadsadsad")) #求长度

for  i  in  range(5,50):
    #print("8888".rjust(i,'-')) #i长度,左边填充*   8888在右边
    print("8888".ljust(i,"*"))#i长度,右边填充*  8888在左边

#大小写
print("abc".upper()) #小写转大写
print("Abc".lower()) #大写转小写

print(max("sadsadsax")) #取出编号最大的字符
print(min("sadsadsax")) #取出编号最大=小的字符


#替换
mystr="hello  123  hello 123"
print(mystr.replace("123","python"))#替换
print(mystr.replace("123","python",1))#替换,1限制次数
print(mystr)


#去除空格
print(" ab c ".strip()) #前后去掉空格
print(" ab c ".rstrip()) #去掉右边
print(" ab c ".lstrip()) #去掉左边


#切割
mystr="A1021879743 # 1021879743 # www.1021879743@qq.com"
mylist=mystr.split(" # ") #切割,按照 # 返回列表
print(mylist)

mystr="88548 n小姐 女 22 162"
mylist=mystr.split(" ",2) #切割,按照 # 返回列表
print(mylist)


#按行切割
mystr="""
十年生死两茫茫,写程序,到天亮。
千行代码,Bug何处藏。 
纵使上线又怎样,朝令改,夕断肠。 
领导每天新想法,天天改,日日忙。
相顾无言,惟有泪千行。
每晚灯火阑珊处,夜难寐,又加班。
"""
mylist=mystr.splitlines() #包含True,换行两次,不包含换行一次
for  data  in mylist:
    print(data)


#大小写转换
print("逗逼is you".startswith("1逗")) #判断是否开头

mystr="hello world"
mystr1="HELLO world"
print(mystr.swapcase())  #大小写转换
mystr=mystr.swapcase()
print(mystr.swapcase())#切换,不会改变原来的

print(mystr1.swapcase())
mystr1=mystr1.swapcase()
print(mystr1.swapcase())


print("123".zfill(40))#金融数据,前面用0填充到40位


#翻译
mystr="hello  python 我,我,你"
table=str.maketrans("op我你","12他妹") # o-1  p-2  我->
print(mystr.translate(table)) #翻译替换O
print(mystr.translate(table))
print(mystr.replace(" ",""))


#字符串模板
from string import Template #string文件导入Template
print(type(Template))
mystr=Template("hi,$name  你是  $baby")
print(mystr.substitute(name="张三",baby="lovely baby"))




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值