Android, String.split (String regex) no divide toda la cadena

Tengo un problema con String.split (String regex). Quiero dividir mi cadena en partes de 4 caracteres cada una.

String stringa = "1111110000000000" String [] result = stringa.split("(?<=\\G....)") 

Cuando imprimo el resultado espero 1111,1100,0000,0000 pero el resultado es 1111,110000000000. ¿Cómo puedo resolverlo? Gracias.

Aquí una solución sin regex –

Comienzas al final de la cuerda, extraes 4 o menos caracteres y los agregas a una lista:

 public static void main (String[] args) { String stringa = "11111110000000000"; List<String> result = new ArrayList<>(); for (int endIndex = stringa.length(); endIndex >= 0; endIndex -= 4) { int beginIndex = Math.max(0, endIndex - 4); String str = stringa.substring(beginIndex, endIndex); result.add(0, str); } System.out.println(result); } 

Lo que resulta en la salida:

 [1, 1111, 1100, 0000, 0000] 
  • La división de una cadena funciona en Java, no funciona en Android
  • Fuerza de cierre en la expresión regular!
  • Regex palabra entera
  • Android / Java regex match Más signo
  • Java Regex lookahead toma demasiado tiempo
  • Número de tarjeta de validación de la validación de la expresión regular
  • ¿Qué hace (?! A) {0}? Significa en un regex de Java?
  • cómo encontrar si el texto de entrada es una url usando regex
  • Formato de registro de registro de Android c2dm
  • Cómo puedo encontrar todas las coincidencias con una expresión regular en android
  • Matcher.replaceAll () y String.replaceAll () no parecen funcionar en Galaxy S 6
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.