Tuesday, July 23, 2013

Split String into Fixed Length chunks using Java

I needed to split a large string into fixed length chunks of equal size using Java Apart from the regular method of looping and doing a substring for the required length, I was wondering in what other way was it possible to achieve the same. Of course, it's Mr. Regex to the rescue for this task at hand! Here was the regex I used to do this:
String largeString = "This is a very large and totally useless and meaningless string";
int chunkLength = 5;
String[] chunks = largeString.split("(?<=\\G.{" + chunkLength + "})");
System.out.println("Number of chunks: " + chunks.length); // Should print 13
System.out.println("Chunk size: " + chunks[0].size()); // Should print 5 == chunkLength
The regular expression is a Positive Look-Behind looking for any chunkLength characters beginning at the position where the last match ended. So the first time around, it matches the beginning of the string and then after that, it keeps matching every set of chunkLength characters.
This makes me think I should write a more detailed post about regular expressions, especially on Look-Ahead and Look-Behind - stay tuned!

5 comments:

brunagari said...

Really nice post.Thanks for sharing.
jobbörse siegerland

brunagari said...


Your website content nice nice and interesting to observe.
jobbörse Neunkirchen

SachinVarshan said...

I believe there are many more pleasurable opportunities ahead for individuals that looked at your site.
python training in Chennai

brunagari said...

really good
Jobvermittlung

brunagari said...


amazing
personalrekrutierung,

LinkWithin

Related Posts Plugin for WordPress, Blogger...