我想将字符串拆分为具有20个字符(或更少尾部)的子字符串。是否有一些图书馆或我需要为此制作课程?
答案 0 :(得分:10)
你应该使用:
s.split("(?<=\\G.{20})");
\G
是一个零宽度断言,匹配上一个匹配结束的位置。如果没有先前的匹配,则它与输入的开头匹配,与\A
相同。封闭的lookbehind匹配从最后一场比赛结束起20个字符的位置。
答案 1 :(得分:3)
或者,使用Groovy,你可以这样做:
assert 'abcdefghij'.toList().collate( 3 )*.join() == ['abc', 'def', 'ghi', 'j']