2015-09-26 70 views
0

我有一个长度为N的字符串,我想将它分成长度相等的部分L(假设最后一部分可能更短)。将字符串拆分为等分片/块

我想出是:

string.split('').each_slice(L).map(&:join) 

但这toooooo长我无法正确读取文档,或者是有没有内置的方法(和太丑陋了,说实话。)执行此任务?

+0

而不是描述你所做的关于'N'和'NUM_SLICES'的所有内容,如果你只是给出了一些长度为'l'而忘记了它们,那将更容易。 – sawa

+1

@sawa固定,thx。 – mudasobwa

+2

而不是'split('')',你也可以使用'chars' –

回答

2

这是怎么回事?

string.scan(/.{,#{L}}/) 
+1

嗯,这绝对是更好的,但它仍然远没有语义清晰。 – mudasobwa

+0

我认为这很清楚,它也只使用一种方法。 Rails也使用类似的正则表达式来将行分隔成几行。 – sawa

+1

当我运行这个时,我总是得到空字符串作为数组中的最后一项。 – maniacalrobot