[英]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.