字符串-基础

字符串-基础

*重要特性:字符串一旦创建不可更改

方法:

复制代码
  1 #expandtabs,断句20
  2 test = 'username\temail\tpassword\nzhaozong\tzhao@q.com\t123\nzhaozong\tzhao@q.com\t123\nzhaozong\tzhao@q.com\t123'
  3 a = test.expandtabs(20)
  4 print(a)
  5 
  6 执行结果:
  7 username            email               password
  8 zhaozong            zhao@q.com          123
  9 zhaozong            zhao@q.com          123
 10 zhaozong            zhao@q.com          123
 11 
 12 print("".center(100,"-")) #打印分割线,(100个-)
 13 
 14 #——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
 15 str='zhaodong'
 16 str_da='ZHAODONG@'
 17 int_da='16688'
 18 print(str.isalnum()) #判断所有字符都是数字或者是字母(特殊字符为false) ,如果是返回True,否false
 19 
 20 print(str.isalpha()) #判断所有字符都是字母,为数字或特殊字符(false),如果是返回True,否false
 21 
 22 print(int_da.isdigit()) #判断所有字符都是数字,为字母或特殊字符(false),如果是返回True,否false
 23 
 24 print(str.islower()) #判断所有字符都是小写,为数字和特殊字符也可(True),如果是返回True,否false
 25 
 26 print(str.lower())    #转换小写
 27 
 28 print(str_da.isupper()) #判断所有字符都是大写,为数字和特殊字符也可(True),如果是返回True,否false
 29 
 30 print(str.upper())  #转换大写
 31 
 32 print(str.istitle()) #判断所有单位首字母都是大写,如:标题
 33 
 34 print(str.isspace()) #判断判断所有字符都是空白字符、\t、\n、\r
 35 
 36 print(str.isprintable()) #存在不可显示的字符,如:\t、\n、\r
 37 
 38 print(str.isspace())  #判断是否全部是空格,如果全是空格返回True,否false ,注意空字符串不是空格
 39 
 40 print(str.find('o',4,6))  #查找字符,默认查找到一个,返回下标,可指定起始位置
 41 
 42 print(str.title())  #将字符串转换成首字母大写的标题
 43 
 44 print(str.istitle())  #判断是否为标题,依据,标题的所有首字母应该是大写的
 45 
 46 print(str.ljust(20,'_'))  #左填充,长度为20的一个任意字符串
 47 
 48 print(str.rjust(20,'_'))  #右填充,长度为20的一个任意字符串
 49 
 50 print(str.center(20,'_'))  #居中填充,长度为20的一个任意字符串
 51 
 52 print(str.zfill(20))    #不能指定字符,可以指定长度,左填充0
 53 
 54 #可处理任意字符,有限字符多的匹配,也可取出\n\t等
 55 print(str.lstrip()) #左空格去掉
 56 print(str.rstrip()) #右空格去掉
 57 print(str.strip())  #两遍一起去掉
 58 #字符分割
 59 print(str.partition('o')) #如果能分割,用于都是分割成三份  左开始
 60 print(str.rpartition('o')) #如果能分割,用于都是分割成三份  右开始
 61 print(str.split('o',2)) #以o为分隔符,分割两次,可指定任意参数,分割字符获取不到
 62 print(str.rsplit('o',2))#以o为分隔符,分割两次,可指定任意参数,分割字符获取不到 右开始
 63 
 64 #写代码,有如下变量,请按照要求实现每个功能
 65 name="aleX"
 66 #a.移除 name 变量对应的值两边的空格,并输入移除后的内容
 67 print(name.strip()) #aleX
 68 print(name)
 69 
 70 #b.判断 name 变量对应的值是否以"al"开头,并输出结果
 71 print(name.startswith('al')) #True
 72 
 73 #c.判断 name 变量对应的值是否以"X"结尾,并输出结果
 74 print(name.endswith('X')) #True
 75 
 76 #d.将 name 变量对应的值中的“l”替换为“p”,并输出结果
 77 print(name.replace('l','p')) #aleX
 78 
 79 #e.将 name 变量对应的值根据“l”分割,并输出结果。
 80 print(name.split('l')) #['a', 'eX']
 81 
 82 #f.请问,上一题e分割之后得到值是什么类型(可选)
 83 print(type(name.split('l'))) #<class 'list'>
 84 
 85 #g.将 name 变量对应的值变大写,并输出结果
 86 print(name.upper()) #ALEX
 87 
 88 #h.将 name 变量对应的值变小写,并输出结果
 89 print(name.lower()) #alex
 90 
 91 #i.请输出 name 变量对应的值的第 2 个字符?
 92 print(name[1:2]) #l
 93 
 94 #j.请输出 name 变量对应的值的前 3 个字符?
 95 print(name[:3]) #ale
 96 
 97 #k.请输出 name 变量对应的值的后 2 个字符?
 98 print(name[-2:]) #eX
 99 
100 #l.请输出 name 变量对应的值中“e”所在索引位置?
101 print(name.index('e')) #2
102 
103 
104 
105 #a.利用下划线将列表的每一个元素拼接成字符串,li="alexericrain"
106 li = 'alexericrain'
107 v = '_'.join(li) #字符拼接
108 print(v)
109 
110 #b.利用下划线将列表的每一个元素拼接成字符串,li=['alex','eric','rain'](可选)
111 li = ['alex','zhurichen','zhaokuo']
112 v = '_'.join(li)
113 print (v)
114 
115 
116 #*必须掌握
117 '''
118 jion 字符串拼接
119 split 字符分割
120 find  查找
121 strip 字符串内删除指定字符
122 upper 转换大写
123 lower 转换小写
124 '''
复制代码

 

补充:

复制代码
test = 'name{n}age{a}'
print(test.format(n='tom',a=15)) #字符串传值
print(test.capitalize()) #首字母大写,其它字母全部小写
print(str_da.replace('ZH','zk',1)) #替换制定字符,并可制定替换几次

print(test.swapcase()) #大小写转换

print(test.isidendifier()) #判断是否可以使用函数名




str = 'zhaodong' print(str[0]) #索引,下标,获取字符串中某一个字符 #相当于切片 print(str[0:2]) #索引,下标,获取字符串范围,顾头不顾尾 print(str[0:-1]) #-1的说明,下标可以为正序,也可以为倒序 ''' z h a o k u o 0 1 2 3 4 5 6 -7 -6 -5 -4 -3 -2 -1 ''' print(len(str)) #计算字符串长度,同时可计算list #熱敏詞彙過濾 n1 = input('請輸入:') n2 = str.maketrans('蒼老師','***') n3 = str.maketrans('東京熱','***') v = n1.translate(n2).translate(n3) print (v)
复制代码

 

 ps1:

复制代码
#计算用户输入的内容中有几个十进制小数?几个字母?
content = input('請輸入想要計算的數值:')
nb_null=''
str_null=''
for i in content:
    if i.isdecimal(): #判断i的值是不是数字
        nb_null += i #如果i的值是数字的话,则加入到number_null
    elif i.isalpha(): #判断i的值是不是字母
        str_null += i
    else:
        pass
print(nb_null,str_null)
print(len(nb_null),len(str_null))
复制代码

 

posted @   总要做些什么  阅读(158)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
点击右上角即可分享
微信分享提示