首页 > 代码库 > python开发基础:字符串操作

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 = b4 #bytes 类型
 65 print(type(num1))
 66 num2 = u4 #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开发基础:字符串操作