python基础数据类型之字符串操作

 

1.字符串切片
ps:字符串是不可变的对象, 所以任何操作对原字符 是不会有任何影响的

s1 = "python最简洁"
print(s1[0])
print(s1[1])
print(s1[2])
print(s1[3])
print(s1[4])
print(s1[5])
print(s1[6])
print(s1[7])
print(s1[8])
print(s1[9])  # 会报错
print(s1[-1]) # 倒数第一个
print(s1[-2]) # 倒数第二个

 

语法一: str[start: end]
规则: 从start开始截取. 截取到end位置. 但不包括end

s2 = "python最简洁"
print(s2[0:3]) # 从0获取到3.不包含3. 结果: pyt
print(s2[6:8]) # 结果 "最简""
print(s2[6:9]) #最大是8,但实际顾头不顾尾,想要取到8必须给到9
print(s2[6:10]) # 如果右边已经过了最大值. 相当于获取到最后
print(s2[4:]) # 如果想获取到最后. 那么最后一个值可以不给.
print(s2[-1:-5]) # 从-1获到-5  这样是获取不到任何结果的.从-1向右数,你怎么数,也数不到-5
print(s2[-5:-1]) # 取到数据了. 但是顾头不顾尾. 怎么取最后一个呢?
print(s2[-5:])  #  什么都不写就是最后了 
print(s2[:-1])  # 这个是取到倒数第一个
print(s2[:])    # 原样输出

 

语法二: str[start:end:step]
start: 起始位置
end: 结束位置
step:步
跳着取, 步长
如果是整数, 则从左往右取. 如果是负数. 则从右往左取. 默认是1

print(s2[1:5:2]) #从第一个开始取,取到第5个,每2个取1个,
print(s2[:5:2])  # 从头开始到第5个,每2个取1个
print(s2[4::2])  # 从4开始取到最后,每2个取1个
print(s2[-5::2]) # 从-5取到最后,每2个取1个
print(s2[-1:-5]) # -1:-5什么都没有,因为从左往右获取的
print(s2[-1:-5:-1]) # 步长是-1. 这时就从右往左取值  
print(s2[-5::-3]) # 从倒数第5个开始. 到最开始. 每3个取1个, 结果oy

 

2.字符串大小转换

str.capitalize()# 将字符串的第一个字母变成大写,其他字母变小写
str.lower() # 全部转化成小写
str.upper() # 全部转化成大写

 

3.字符串去空格处理

str.strip() # 去掉两边空格
str.lstrip() # 去掉左边空格
str.rstrip() # 去掉右边空格

 

4.字符串替换

str.replace(old,new) # old:原来的str new:需要替换的str

 

5.字符串切割

str.split(",") # 根据","分割,返回新的列表

 

格式化输出几种方式:

%s,%f,%d
%s 用于字符串输出

print('%s' % 'hello world')
hello world

 

%f 用于小数输出

print('%f' % 1.234)
1.234000

 

%d. 用于整数输出

print('%d' % 4)
4

其他方法

print("我叫{}, 今年{}岁 , 我喜欢{}".format("周杰伦", 28, "周润发")) # 按位置格式化输出

print("我叫{0}, 今年{2}岁 , 我喜欢{1}".format("周杰伦", "周润发", 28)) # 指定位置
print("我叫{name}, 今年{age}岁 , 我喜欢{singer}".format(name="周杰伦", singer="周润发", age=28)) #指定关键字

 

6.字符串查找

str.startswith("xx") # 判断是否以"xx"开头
str.endswith("xx")) # 判断是否以"xx"结尾
str.count("xx") # 查找str中"xx"出现的次数
str.find("xx") # 查找str中"xx"出现的位置;如果"xx"不在str中,返回-1
str.index("xx") # 求索引位置,找不到会报错

 

7.字符串条件判断

str.isalnum() #是否字母和数字组成
str.isalpha() #是否是字母组成
str.isdigit() #是否是数字组成

...

转载于:https://www.cnblogs.com/avit/p/10106173.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值