簡體   English   中英

如何在子字符串后捕獲一定數量的字符?

[英]How to capture a certain number of characters after a substring?

我對編碼非常陌生,需要幫助解決一個令我難過的作業的最后一個問題。 我也不能將正則表達式用於此賦值。

我有這個字符串,我已經做了所以我在'cat'出現后拆分了字符串。

astr = 'accaggcatgattgcccgattccatgcggtcag'
x = astr.split('cat',1)[-1]
print(x)
gattgcccgattccatgcggtcag
y = astr.split('cat',2)[-1]
print(y)
gcggtcag

但是,如果我只想在字符串中每個'cat'后面的三個字母,我該怎么辦? 例如,我想要'gat''gcg'

任何幫助是極大的贊賞!

使用切片,如[:3]

astr = 'accaggcatgattgcccgattccatgcggtcag'
x = astr.split('cat',1)[-1][:3]
print(x)
y = astr.split('cat',2)[-1][:3]
print(y)

輸出:

gat
gcg

另外,另一個想法可能是:

print(list(map(lambda x: x[:3],astr.split('cat')[1:])))

您也可以一次性獲得所有這些:

[x[:3] for x in astr.split('cat')[1:]]

輸出:

['gat', 'gcg']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM