python 匹配
我有一个字符串 序列, xx = “sadasdsadas AA1,AA12”我使用xx.find()找AA1结果AA12也被找出来了
请问大家,这个怎么解决,有没有精确匹配的方法? 什么叫 “精确匹配”? zltzlt 发表于 2020-1-16 14:58
什么叫 “精确匹配”?
我想找AA,在字符串里面有AA,AAB,ACA,我如果使用.find()
会返回AA和AAB,但是我只想返回AA,怎么解决呢?可以规定字符串长度吗? BIO-张磊 发表于 2020-1-16 15:01
我想找AA,在字符串里面有AA,AAB,ACA,我如果使用.find()
会返回AA和AAB,但是我只想返回AA,怎么解决呢 ...
>>> s = "AA,AAB,ACA"
>>> s.split(',').index('AA')
0
>>> s # 因为 'AA' 的长度是 2 ,所以加 2
'AA' zltzlt 发表于 2020-1-16 15:04
import os
os.chdir(r'D:\9种反刍动物\牦牛\cazy\test')
file = os.listdir()
for i in file:
b = []
for x in open(i).readlines():
if x.find('PUL1') > -1:
b.append(x)
with open('D:/9种反刍动物/牦牛/cazy/result/%s' % i,'w') as f:
for each in b:
each = each.strip() + "\t" +"pectin\n"###这一步是在每一行后面加特定字符
f.writelines(each)
您好,我其实是输入一个文件,把每一行有特定字符的找出来输出到新文件,我想找的是PUL1,但是PUL11和PUL12也被找出来,请问有什么解决方法吗??
BIO-张磊 发表于 2020-1-16 15:09
import os
os.chdir(r'D:\9种反刍动物\牦牛\cazy\test')
file = os.listdir()
把你的文件内容发上来? zltzlt 发表于 2020-1-16 15:09
把你的文件内容发上来?
Yak_Rumen.Co.687 PUL1 Yak_Rumen.Co__c1425112_2
Yak_Rumen.Co.687 PUL1 Yak_Rumen.Co__c1425112_3
Yak_Rumen.Co.687 PUL10 Yak_Rumen.Co__c7110352_2
BIO-张磊 发表于 2020-1-16 15:10
Yak_Rumen.Co.687 PUL1 Yak_Rumen.Co__c1425112_2
Yak_Rumen.Co.687 PUL1 Yak_Rumen.Co__c1425112_3
...
import os
os.chdir(r'D:\9种反刍动物\牦牛\cazy\test')
file = os.listdir(".")
for i in file:
b = []
for x in open(i).readlines():
try:
x.split(" ").index("PUL1")
b.append(x)
except Exception:
pass
with open('D:/9种反刍动物/牦牛/cazy/result/%s' % i, 'w') as f:
for each in b:
each = each.strip() + "\t" + "pectin\n"
f.writelines(each) zltzlt 发表于 2020-1-16 15:14
抱歉,好像不行,这样子split反而把全部输出为空。 BIO-张磊 发表于 2020-1-16 15:17
抱歉,好像不行,这样子split反而把全部输出为空。
我这里测试是可以的。 zltzlt 发表于 2020-1-16 15:23
我这里测试是可以的。
好的,我是了一下,可能是输入的原因,确实是可以的,多谢版主
页:
[1]