regex - Split string to equal length substrings in Java -
how split string "thequickbrownfoxjumps"
substrings of equal size in java. eg. "thequickbrownfoxjumps"
of 4 equal size should give output.
["theq","uick","brow","nfox","jump","s"]
similar question:
here's regex one-liner version:
system.out.println(arrays.tostring( "thequickbrownfoxjumps".split("(?<=\\g.{4})") ));
\g
zero-width assertion matches position previous match ended. if there was no previous match, matches beginning of input, same \a
. enclosing lookbehind matches position that's 4 characters along end of last match.
both lookbehind , \g
advanced regex features, not supported flavors. furthermore, \g
not implemented consistently across flavors support it. trick work (for example) in java, perl, .net , jgsoft, not in php (pcre), ruby 1.9+ or textmate (both oniguruma). javascript's /y
(sticky flag) isn't flexible \g
, , couldn't used way if js did support lookbehind.
i should mention don't recommend solution if have other options. non-regex solutions in other answers may longer, they're self-documenting; one's opposite of that. ;)
also, doesn't work in android, doesn't support use of \g
in lookbehinds.
Comments
Post a Comment