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.
- Cómo colorear texto utilizando Regex en android
- ¿Cómo usar los marcadores de principio y fin en regex para Java String?
- Uso de regex y android para categorizar diferentes campos
- Grupos java regex con android
- División de una cadena en Java lanza PatternSyntaxException
- ¿Cómo usar Android REGEX con clases de patrón y Matcher?
- RegEx para encontrar URL en HTML tarda 25 segundos en Java / Android
- Excluir etiquetas HTML y algunos caracteres UNICODE mientras busca en SQLite
- ¿Cómo validar una cadena usando java regex?
- "Secuencia de escape no válida (válidos son \ b \ t \ n \ f \ r \" \ '\\) "error de sintaxis
- Android java regex coinciden con todos menos un carácter
- Cómo encontrar elementos por subcadena de ID usando la sintaxis del selector Jsoup?
- Android Java - String .replaceAll para reemplazar caracteres específicos (regex)
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]
- Cómo cambiar la posición del cursor en TextInput? (Reactivo-nativo)
- Política de seguridad de contenido de WebView