使用vim将字符串拆分为基于固定长度的子字符串

时间:2013-04-17 20:00:14

标签: string vim

在大多数脚本语言中,很容易将字符串拆分为不带分隔符的固定长度子字符串。例如在红宝石中,我可以做到

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

使用vim脚本执行此操作相当于什么?或者用vim中的单个命令实现相同的功能?

编辑 注意:请注意Ruby删除最后一个c

1 个答案:

答案 0 :(得分:3)

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

以上一行会给你

"acg atg ctg c"

我知道有一个c,如果你想删除它,可以通过filter()函数删除它:

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

会给你:

"acg atg ctg"

我不知道它是否回答了你的问题。