2013-04-17 188 views
1

在大多數腳本語言中,很容易將字符串拆分爲不帶定界符的固定長度的子字符串。例如在紅寶石我可以做將字符串拆分爲基於固定長度的子字符串vim

'acgatgctgc'.scan(/.{3}/).join(' ') #=>"acg atg ctg" 

什麼是使用vim腳本這樣做?或者在vim中使用單個命令實現相同的功能?

編輯 注:請注意紅寶石條最C

回答

3
join(split('acgatgctgc','.\{3}\zs'),' ') 

上述行會給你

"acg atg ctg c" 

我知道有一個c,它可以通過filter()功能被去除,如果你想刪除它:

join(filter(split('acgatgctgc','.\{3}\zs'),'len(v:val)==3'),' ') 

will給你:

"acg atg ctg" 

我不知道它是否回答你的問題。

+0

看起來不錯實際上,我寧願不刪除它! – eastafri

+1

這裏是相關的':substitute'命令,如果你需要的話:':%s/\ v。{3}($)@!/&/ g' –

+0

@eastafri但是你的問題中的例子的結果是* * no **'c' ... – Kent

相關問題