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.
- ¿Qué significa * + en regexp
- Detectar subrogados altos en una cadena utilizando expresiones regulares
- Ant regex para nombres de paquetes android
- ¿Qué hace (?! A) {0}? Significa en un regex de Java?
- Cómo validar el formato de número de teléfono
- ¿Cómo lograr límite de palabras en Sqlite Android?
- Excluir etiquetas HTML y algunos caracteres UNICODE mientras busca en SQLite
- Cómo reemplazar una cadena si no está contenida entre '<' y '>'
- cómo encontrar si el texto de entrada es una url usando regex
- Expresión regular para eliminar todos los caracteres no imprimibles
- Consulta de SQLiteDatabase de Android con Regex
- Manejo de spoiler BBcode Android
- La división de una cadena funciona en Java, no funciona en Android
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