0
查詢 「AAAAA-AAACAAA-AAAAAA」修復
參考 「AA-AATAAAAAAATAAAAAA」
在Python,我怎麼修復字符串(查詢)相對於參考串查詢中的破折號替換爲引用字符,引用字符串中的破折號會導致相應查詢字符中的刪除?
「AAAAA-AAACAAA-AAAAAA」 應該成爲
「AAAATAAACAAATAAAAAA」 (其中此處括號 「AA()AA(T)AAACAAA(T)AAAAAA」 突出修飾字符)
下面是代碼可以修復查詢中的破折號相對於引用可能有用或不可用(行號是特定於文件,這裏不相關,我爲非pythonic代碼道歉!),但我無法修改查詢根據參考破折號....
if "Query identifier" in line:
Query = line[24:-12]
if "-" in Query:
indices = [i for i, x in enumerate(Query) if x == "-"]
QueryStringUntilFirstDash = Query[:indices[0]]
found = 2
if found ==2 and "Reference identifier" in line:
Ref = line[24:-12]
if len(indices) == 1:
QueryDashToEnd.append(Query[indices[0]+1:])
print QueryStringUntilFirstDash+Ref[indices[0]]+str(QueryDashToEnd[0])
del(A[:])
else:
while y < len(indices):
y+=1
if y < len(indices):
DashesMiddleofQuery.append(Query[indices[y-1]:indices[y]])
DashesMiddleofQuerySubstitution = [B.replace('-', Ref[indices[y-1]]) for B in B]
Concat= ''.join(B)
del(B[:])
print UID
print Beg+str(Concat)+Query[indices[-1]+1:]+">1"
found = 0
y = 0
哇,這比我的代碼稍好...(哈哈) 非常感謝,太簡單了,它太漂亮了! – Vince
如果破折號的位置很重要,例如查詢和參考文獻之間的破折號小於彼此的X個空格,那麼不要更改? – Vince
@Vince:爲此,我們必須涉及指數,這會稍微不夠優雅。這將是一個完全不同的問題。 – DSM