python开发基础:字符串操作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python开发基础:字符串操作相关的知识,希望对你有一定的参考价值。
1 #!/usr/bin/env python 2 #_*_coding:utf-8_*_ 3 4 #strip 方法用于移除字符串头尾指定的字符(默认为空格)。 5 #str.strip([chars]); 6 # chars移除字符串头尾指定的字符。 这是一个包含的关系 7 name = "*joker**" 8 print(name.strip("*")) 9 print(name.lstrip("*")) #去除左边 10 print(name.rstrip("*")) #去除右边 11 12 #startswith,endswith 13 name = "joker_li" 14 print(name.endswith("li")) #是否以什么结尾 15 print(name.startswith("joker")) #是否以什么开头 16 17 #replace 18 name = "joker is good joker boy!" 19 print(name.replace(‘joker‘,‘li‘)) #所有joker替换li 20 print(name.replace(‘joker‘,‘li‘,1)) #从左到右替换1次 21 22 #find,rfind,index,rindex,count 23 name = ‘jokerk say hi‘ 24 print(name.find(‘s‘)) #字符串也是可以切片找不到则返回-1不会报错,找到了则显示索引 25 print(name.count(‘k‘)) #统计包含有多少个 26 27 #split 28 name = ‘root:x:0:0::/root/:bin/bash‘ 29 print(name.split(‘:‘)) #默认分隔符为空格 30 name = ‘c:/a/b/c/d.txt‘ #想拿到顶级目录 31 print(name.split(‘/‘,1)) #按多少次切片,从左边 32 name = ‘a|b|c‘ 33 print(name.rsplit(‘|‘,1)) #按多少次切片,从右边 34 35 #join 36 tag = ‘ ‘ 37 print(tag.join([‘joker‘,‘li‘,‘good‘,‘boy‘])) #可迭代对象必须都是字符串 38 #也就是说这个方法是将列表转换为字符串,如果tag有变量的话,就会循环加 39 40 #center,ljust,rjust,zfill 41 name = ‘joker‘ 42 print(name.center(10,‘_‘)) #不够10个字符,用_补齐 43 print(name.ljust(10,‘*‘)) #左对齐 44 print(name.rjust(10,‘*‘)) #右对齐,注意这个引号内只能是一个字符 45 print(name.zfill(10)) #右对齐,用0补齐就是 46 47 #expandtabs 48 name = ‘joker\thello‘ 49 print(name) 50 print(name.expandtabs(4)) #expand扩张的意思,就是将tab建转为多少个空格 51 52 #lower,upper 53 name = ‘joker‘ 54 print(name.lower()) #大写变小写,如果本来就是小写,那就没变化 55 print(name.upper()) #小写变大写,如果本来就是大写,那就没变化 56 57 #capitalize,swapcase,title 58 name = ‘joker li‘ 59 print(name.capitalize()) #首字母大写 60 print(name.swapcase()) #大小写对调 61 print(name.title()) #每个单词的首字母大写 62 63 #is数字系列 64 num1 = b‘4‘ #bytes 类型 65 print(type(num1)) 66 num2 = u‘4‘ #unicode类型,在3里默认就是这个类型 67 print(type(num2)) 68 num3 = ‘四‘ #中文数字 69 num4 = ‘Ⅳ‘ #罗马数字 70 71 #isdigt,bytes,unicode 72 print(num1.isdigit()) #是不是一个整数数字,如果是浮点数就会False 73 print(num2.isdigit()) 74 print(num3.isdigit()) #False 75 print(num4.isdigit()) #罗马数字 False ,不是一个整数 76 77 #isdecimal,uncicode 78 #bytes类型无isdecimal方法 79 print(num2.isdecimal()) #检查字符串是否只包含十进制字符。这种方法只存在于unicode对象 80 #注意:定义一个十进制字符串,只需要在字符串前添加 ‘u‘ 前缀即可 81 print(num3.isdecimal()) 82 print(num4.isdecimal()) 83 84 #isnumberic:unicode,中文数字,罗马数字 85 #bytes类型无isnumberic方法 86 print(num2.isnumeric()) #判断是不是数字,包括中文大写数字,罗马数字等 87 print(num3.isnumeric()) 88 print(num4.isnumeric()) 89 90 #三者不能判断浮点数 91 num5=‘4.3‘ #全是false 92 print(num5.isdigit()) 93 print(num5.isdecimal()) 94 print(num5.isnumeric()) 95 96 ‘‘‘ 97 总结: 98 最常用的是isdigit,可以判断bytes和unicode类型,这也是最常见的数字应用场景 99 如果要判断中文数字或罗马数字,则需要用到isnumeric 100 ‘‘‘ 101 102 #is其他 103 print(‘===>‘) 104 name=‘joker123‘ 105 print(name.isalnum()) #字符串由字母和数字组成 106 print(name.isalpha()) #字符串只由字母组成 107 108 print(name.isidentifier()) #判断是不是一个合法的表示符 109 print(name.islower()) #判断是不是小写 110 print(name.isupper()) #是不是大写 111 print(name.isspace()) #判断是不是空格 112 print(name.istitle()) #每个单词字母首字母大小 113 114 #字符串练习 115 print(‘字符串练习题===‘) 116 ‘‘‘ 117 写代码,有如下变量,请按照要求实现每个功能 118 name = " aleX" 119 ‘‘‘ 120 name = ‘ aleX‘ 121 # 1) 移除 name 变量对应的值两边的空格,并输出处理结果 122 print(name.strip()) 123 # 2) 判断 name 变量对应的值是否以 "al" 开头,并输出结果 124 print(name.startswith(‘al‘)) #F 125 print(name.strip().startswith(‘al‘)) #T 126 # 3) 判断 name 变量对应的值是否以 "X" 结尾,并输出结果 127 print(name.endswith(‘X‘)) 128 # 4) 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果 129 print(name.replace(‘l‘,‘p‘)) 130 # 5) 将 name 变量对应的值根据 “l” 分割,并输出结果。 131 print(name.split(‘l‘)) 132 # 6) 将 name 变量对应的值变大写,并输出结果 133 print(name.upper()) 134 # 7) 将 name 变量对应的值变小写,并输出结果 135 print(name.lower()) 136 # 8) 请输出 name 变量对应的值的第 2 个字符? 137 print(name[1]) #字符串也是可以用索引查找的 138 # 9) 请输出 name 变量对应的值的前 3 个字符? 139 print(name[:3]) 140 # 10) 请输出 name 变量对应的值的后 2 个字符? 141 print(name[-2:]) 142 # 11) 请输出 name 变量对应的值中 “e” 所在索引位置? 143 print(name.find(‘e‘)) 144 # 12) 获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo。 145 print(name[:-1])
以上是关于python开发基础:字符串操作的主要内容,如果未能解决你的问题,请参考以下文章