day 3 字符串的方法
字符串(str)的相关方法
1. 切片和索引:索引就是下标,切记下标从零开始.切片,我们可以使用下标截取部分字符串的内容.
语法:str[start:end;step] 规则:顾头不顾尾,步长(跳着截取)可有可无,默认步长为 1.步长为正,从左至右,步长为负,从
右至左截取.
2.字符串的相关操作方法注意--字符串是不可变类型,所以任何操作对原字符串是不会有任何影响的.
S1 = “woshi,xiaGKn,nvninefanzhen,Pgwo,shiLde”
1),大小写转来转去
Ret = s1.capitalize() # 首字母大写,其余全部转为小写
ret = s1.lower() # 全部转换成小写
ret = s1.upper() # 全部转换成大写
ret = s1.swapcase() # 小写互相大转换
ret = s1.casefold() # 全部转换成小写, 和 lower 的区别:
lower()对某些字符⽀支持不不够好.
casefold()对所有字⺟母都有效. ⽐比如东欧的⼀一些字⺟
ret = s1.title() #每个被特殊字符隔开的字母⾸字母⼤写
(包括中文)
(2) 切来切去
居中--------S1.center(10,”*”) #拉长为 10 个长度,把字
符串放中间,其余位置放 * .
更改 tab = "alex wusir\teggon" 的长度-----升 s2.expandtabs()
#更改\t 的长度,默认长度为 8,如果长度长度超过 8,则补充为 16
a = "jiohjoprw\t我是" print(a.expandtabs())
(3) 去空格
S3 = " alex wusir haha " S3.strip()# 默认仅去掉两端的空格. S3.strip(“a”) #去掉两端的字符 a S3.lstrip(“a”) #去掉左端的字符 a S3.rlstrip(“a”)#去掉右端的字符 a
(4)字符串替换
S3 = " alex wusir haha "
S3.replace (old,new,count)#old—旧元素,new—新元
素,count—需要替换的次数,不写默认全部替换
(5)字符串切割
S3 = " alex wusir haha "
S3.split(“刀”) #需要注意的是,以刀切割,损失掉刀,并且成为
列表.如果刀放在两端,列表中会出现空字符串.
(6) 格式化输出
s12 = "我叫%s, 今年年%d 岁了了, 我喜欢%s" % ('sylar', 18, ' 周杰伦') # 之前的写法 print(s12) s12 = "我叫{}, 今年年{}岁了了, 我喜欢{}".format("周杰伦", 28, "周润发") # 按位置格式化 print(s12) s12 = "我叫{0}, 今年年{2}岁了了, 我喜欢{1}".format("周杰伦 ", "周润发", 28) # 指定位置 print(s12) s12 = "我叫{name}, 今年年{age}岁了了, 我喜欢 {singer}" .format (name="周杰伦", singer="周润 发", age=28) # 指定关键字 print(s12)
(7)查找
s13 = "我叫 sylar, 我喜欢 python, java, c 等编程语⾔言."
ret1 = s13.startswith("sylar") # 判断是否以
sylar 开头
print(ret1)
ret3 = s13 .endswith ("语言") # 是否以'语言'结尾
print(ret3)
ret7 = s13. count ("a") # 查找"a"出现的次数
print(ret7)
ret5 = s13. find ("sylar") # 查找'sylar'出现的位置(求索引),找不到返回-1
ret7 = s13.find ("a", 8, 22) # 切片找
print(ret7)
ret8 = s13.index("sylar") # 求索引位置. 注意. 如果找不不到
索引. 程序会报错
注意 count,find,index 均可以使用切片
(8)条件判断
s14 = "123.16" # 是否由字母和数字组成 print(s14.isalnum()) # 是否由字母组成 print(s14.isalpha()) # 是否由数字组成, 不包括小数点 print(s14.isdigit()) print(s14.isdecimal())#判断字符里边是否整数 print(s14.isnumeric()) # 这个比较牛 B. 中文都识别. print(s15.isdigit()) print(s16.isdigit()) # 练习. 使用算法判断某一个字符串是否是小数 s17 = "-123.12" s17 = s17.replace("-", "") # 替换掉负号 if s17.isdigit(): print("是整数") else: if s17.count(".") == 1 and not s17.startswith(".") and not s17.endswith("."): print("是小数") else: print("不是小数")
(9)计算字符串长度
s18 = "我是你的眼, 我也是 a"
ret = len (s18) # 计算字符串串的长度
print(ret) 注意 len 是 python 的内置函数
(10) 迭代
使用 for 循环来便利(获取)字符串串中的每一个字符
语法:
for 变量 in 可迭代对象:
pass
可迭代对象:可以一个一个往外取值的对象

浙公网安备 33010602011771号