用python按要求提取字符串
求助大神们,我有一个1.txt文件,里面有大量如下内容Z1478_131_CDEF1563_CABP1_F02_F03_CDEF1563_CABP3_F18_F39
Z1496_001_CDEF2063_F4_F12_F20_IJKL0630_F11_HBA0
Z1496_003_CDEF1563_CABP1_F02_F03_IJKL0584_F12_HBA01
Z1414_067_CDEF1368F24_F25_IJKL0350F26_HBA0
Z0612_043_CDEF1230F12_1G1B_IJKL0301F22_HBA0
Tmp0103_ST2540F15_PAH0_IJKL0299F05_HBA0
Z7896_015_CDEF1261F28_1E7B_IJKL0629_F10_HBA0
现在想用python按照红色的字符和蓝色的字符分别提取出来,结果像是下面这样的,能实现吗,代码怎么写?
第一列
CDEF1563_CABP1_F02_F03
CDEF2063_F4_F12_F20
CDEF1563_CABP1_F02_F03
CDEF1368F24_F25
CDEF1230F12_1G1B
ST2540F15_PAH0
CDEF1261F28_1E7B
第二列
CDEF1563_CABP3_F18_F39
IJKL0630_F11_HBA0
IJKL0584_F12_HBA01
IJKL0350F26_HBA0
IJKL0301F22_HBA0
IJKL0299F05_HBA0
IJKL0629_F10_HBA0
这些是什么字符串? 这种先要找出提取规律,规律完成了就可以实现,规律只有自己找,程序编著可参考下面的教程学习先:
字符串操作:https://www.runoob.com/python3/python3-string.html
正则表达式:https://www.runoob.com/python3/python3-reg-expressions.html 雷_影 发表于 2020-2-21 10:13
这些是什么字符串?
就是普通的字符串,代表设备名字 ```
^Z\d{4}_\d+_(CDEF.*)?(_IJK|_CDEF).*
^Tmp\w+?_(\w+_){1}
```
试试正则表达式. 分2步处理.. 楼上正解 或者看看有没有别人已经针对你这问题封装好的库? 楼主你看是不是这个规律 以_为分割,第一次遇到的以字母开头的那一组即属于第二组,接下来遇到长度为8的那一组及之后就是第三组 python能实现,但是你这分法没个规律,不好用程序写,下划线个数总变化 下面的程序好使,找到的规律是,每个开头段长度大于等于八,小于八的跟在后面
输出两个字典
import os
one = []
two = []
f = open('1.txt','r')
for i in f.readlines():
text = i[:-1].split('_')
a = ''
for j in text:
if len(j) >= 8:
a = a + '*' + j
else:
a = a + '_' + j
a = a.split('*')
one.append(a)
two.append(a)
print(one)
print(two) 楼主,我想问下为什么你的txe文件里的文本会有颜色的?
页:
[1]
2