Break a string up into substrings all of a known length

suggest change

The trick is to use a look-behind with the regex \G, which means “end of previous match”:

String[] parts = str.split("(?<=\\G.{8})");

The regex matches 8 characters after the end of the last match. Since in this case the match is zero-width, we could more simply say “8 characters after the last match”.

Conveniently, \G is initialized to start of input, so it works for the first part of the input too.

Feedback about page:

Feedback:
Optional: your email if you want me to get back to you:


Splitting a string into fixed length parts:
* Break a string up into substrings all of a known length

Table Of Contents
8 Arrays
10 Maps
11 Strings
25 JAXB
29 Enums
32 Audio
41 Scanner
63 Logging
75 Lists
78 Sets
89 JAX-WS
96 XJC
98 Process
106 Modules
114 Applets
119 Splitting a string into fixed length parts
122 JNDI
139 JavaBean
141 Literals
144 Packages
150 JMX
153 JShell
159 Sockets
167 Enum Map
175 Hashtable
177 SortedMap