10 字符串相关操作

# ### 字符串的相关操作
#(1)字符串的拼接  +
str1 = "我爱你"
str2 = "美丽的祖国"
res = str1 + str2
print(res)
str1 += str2 # str1 = str1 + str2
print(str1)
 
# (2)字符串的重复 *
str1 = "重要的事情说三遍"
res = str1 * 3
print(res)
 
# (3)字符串跨行拼接 
strvar = "是的法师打发士大夫撒地方sdfsafdasdfasdfasdfasdfasf"
"2342342342342342342342342"
"32143"
print(strvar)
 
# (4)字符串的索引
#         0  1 2 3456 7  正向索引
strvar = "梁山好汉108将"
#        -8-7-6-5-4-3-2-1
res = strvar[6]
print(res)
res = strvar[-2]
print(res)
 
"""
(5)字符串的切片:
语法 => 字符串[::]  完整格式:[开始索引:结束索引:间隔值]
    (1)[开始索引:]  从开始索引截取到字符串的最后
    (2)[:结束索引]  从开头截取到结束索引之前(结束索引-1)
    (3)[开始索引:结束索引]  从开始索引截取到结束索引之前(结束索引-1)
    (4)[开始索引:结束索引:间隔值]  从开始索引截取到结束索引之前按照指定的间隔截取字符
    (5)[:]或[::]  截取所有字符串
"""
# 字符串的切片简而言之就是字符串的截取操作
strvar = "五一假期,国家法定多放假了一天,大家莆田同庆,一起欢度美好时光"
 
# (1)[开始索引:]  从开始索引截取到字符串的最后
res = strvar[23:]
print(res)
# (2)[:结束索引]  从开头截取到结束索引之前(结束索引-1)
# 注意:高位取不到
res = strvar[:4]
print(res)
 
# (3)[开始索引:结束索引]  从开始索引截取到结束索引之前(结束索引-1)
res = strvar[5:9]
print(res)
 
# (4)[开始索引:结束索引:间隔值]  从开始索引截取到结束索引之前按照指定的间隔截取字符
'''
找出开始索引号3 然后依次加5 
会变成 3 8 13 18 23 28  通过数字找索引对应的字符
'''
res = strvar[1::2]  #一期国法多假一,家田庆一欢美时
res = strvar[3::5]  #期定一莆一好
res = strvar[:10:3] # 0 3 6 9  五期家多
res = strvar[::2]   # 0 2 4 6 8 10 12 ...
 
# 逆向索引 -1 -2 -3 -4 -5 ...
res = strvar[-1::-1]
res = strvar[-1:-3:-1] # 方向从右向左
 
print(res)
 
 
# 字符串的格式化 (%d  %f  %s 占位符 )
"""
"字符串" % (要替换的值)
"""
 
# %d 整型占位符
strvar = "今天买了个%d苹果"   %   (3)
print(strvar)
# %2d 不满足数字的位数 占用2位 默认局右
strvar = "收音机买了%3d个" % (5)
# %-2d 不满足数字的位数 占用2位 默认局左
strvar = "收音机买了%-3d个" % (5)
print(strvar)
 
 
# %f 浮点型占位符
strvar = "买这3个苹果花了%f元人民币" % (12.6)
print(strvar)
# %.1f 保留一位小数 遵循四舍五入
strvar = "买这3个苹果花了%.2f元人民币" % (12.6198)
print(strvar)
 
# %s 字符串占位符
strvar = "%s" % ("文哥真是帅呀")
print(strvar)
 
# 综合案例
res = "胡斌今天开工资%.2f元,买了%d个娃娃,感觉%s" % (50000.2899,50,"炸了,崩了满脸血")
print(res)