2021-10-05

2 篇文章 0 订阅
2 篇文章 0 订阅

最近学习python string index 下字符串取值,
目录:
(一) 起步阶段, python+string 参考
(二) python str index的中阶用法, 用于加上for循环和os.walk()来遍历文件夹下文件循环后取到的文件名存在list k(n)中.
(三) python str index的嵌套用法, 用于加上for循环和os.walk()来遍历文件夹下文件循环后取到的文件名存在list k(n)中, index分割
(四) 基础原文链接

(1) 起步阶段, python+string 参考
https://www.cnblogs.com/xunbu7/p/8074417.html

str =0123456789print str[0:3] #截取第一位到第三位的字符
print str[:] #截取字符串的全部字符
print str[6:] #截取第七个字符到结尾
print str[:-3] #截取从头开始到倒数第三个字符之前
print str[2] #截取第三个字符
print str[-1] #截取倒数第一个字符
print str[::-1] #创造一个与原字符串顺序相反的字符串
print str[-3:-1] #截取倒数第三位与倒数第一位之前的字符
print str[-3:] #截取倒数第三位到结尾
print str[:-5:-3] #逆序截取,具体啥意思没搞明白?
————————————————
原文链接:https://blog.csdn.net/weixin_42668334/article/details/120614400

#对应的输出结果:
012
0123456789
6789
0123456
2
9
9876543210
78
789
96

(2)python str index的中阶用法,
https://blog.csdn.net/weixin_47370211/article/details/117553322
最近学习python string index 下字符串取值, string( index(“str1”):index(‘str2’),
用于加上for循环和os.walk()来遍历文件夹下文件循环, 取到的文件名存在list k(n)中,
开始觉得很困惑,
试了好多次, 后来觉得, python str index 中index部分字符 看作"被去掉分割符"更容易理解和记忆.
用在起始, 是截取到字符串的右边, 如果需要字符串的东西, 需要加上; 比如有2个字符做分割符了,就"+2".
用在结束, 是字符串的最右边; 如果分割符里有需要的东西, 需要加上, 比如有2个字符包含在分割法符里了, 就"+2".

https://blog.csdn.net/weixin_47370211/article/details/117553322
比如原文链接的文件名, 3段式, 结构清晰简单, 全部用"-"分割清楚了.
文件名结构: “J1大轮转接-数量1-材料6061.DXF”
简单直接用-分割, .

            name = str(k[n][:k[n].index('-')])   #name 找第一个"-"结尾直接分割
            sheet1.write(n + 1, 1, name)
            number = str(k[n][k[n].index('数量'):k[n].index('-材')][2:])  
		#中间的数字, 左边使用"数量"分割的, 右边是"-材"分割, 字符"-材"唯一
            sheet1.write(n + 1, 2, number)   
            material = str(k[n][k[n].index('材料'):k[n].index('.')][2:])
		#下面的材料, 左边用"材料"分割, 右边用"."分割, 字符"."唯一.
            sheet1.write(n + 1, 3, material)

(3) 有些文件, 出现多个下划线和中环线, 若要套用, 就要做的复杂一点, 如下文件名,
for_copy_factoryS_MP_greatffalo_ProductD-D04-ABC-NL-0XA0_20211005.xlsx

想把左边的for_copy_factoryS_MP_greatffalo,
中间的ProductD-D04-ABC-NL-0XA0,
和右边的日期20211005分开,
由于 "“和”-"都是用过多次了, 并不唯一, 需要加其他唯一的字符串, 才能分开.
part1 = str(k[n][:k[n].index('lo
’)+2])
#"lo_"唯一, 分割到"lo_"最左边, 但实际需要到"lo"结束, 所以+2

            sheet1.write(n + 1, 1, part1 ) 
            part2 = str(k[n][k[n].index('lo_')+1:k[n].(index('A0_')+2)][2:])  
		# 左边使用"lo_"分割的, 事实上在"lo_"的下一位才是需要的"P", 所以"+1";  右边是"A0_"分割, 作为分割符把"A0_"都去掉了, 起始"A0"是我们需要的, 所以"+2"
            sheet1.write(n + 1, 2, part2 ) 
            part3 = str(k[n][k[n].index('A0_')+1:k[n].index('.')][2:])
		#下面的材料, 左边用"A0_"分割, 但是需要的字符"2021"是在"A0_"右边1位, 所以需要"+1"
            sheet1.write(n + 1, 3, part3 )

(4)
比如原文链接
https://blog.csdn.net/weixin_47370211/article/details/117553322

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值