Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

225
Vistas
Cadena dividida por delimitador repetible en Java/Kotlin

Estoy dividiendo una cadena por un delimitador repetible, y también tengo la intención de mantener los delimitadores.

 val str = "xxoooooooxxoxoxooooo" val reg = Regex("(?<=x+)|(?=x+)") var list = str.split(reg) println(list)

La salida es [, x, x, ooooooo, x, x, o, x, o, x, ooooo] , aunque me gustaría obtener

[xx, ooooooo, xx, o, x, o, x, ooooo]

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

val str = "xxoooooooxxoxoxooooo" val reg = Regex("o+|x+").findAll(str).map { it.value }.toList() println(reg) //[xx, ooooooo, xx, o, x, o, x, ooooo]
over 4 years ago · Santiago Trujillo Denunciar

0

En realidad, no es correcto usar el cuantificador + dentro de un lookbehind en los patrones de expresiones regulares de Java, esta no es una función compatible documentada. No arroja una excepción porque internamente se traduce a {1,0x7FFFFFFF} y la expresión regular de Java admite patrones de búsqueda retroactiva de ancho restringido. Sin embargo, este cuantificador tanto en la búsqueda posterior como en la búsqueda anticipada no hace ninguna diferencia, ya que estos son patrones que no consumen, y el motor de expresiones regulares aún verifica cada posición dentro de una cadena en busca de una coincidencia de patrón.

Puedes usar

 (?<=x)(?=o)|(?<=o)(?=x)

Vea una demostración de Kotlin :

 val str = "xxoooooooxxoxoxooooo" val reg = Regex("(?<=x)(?=o)|(?<=o)(?=x)") var list = str.split(reg) println(list) // => [xx, ooooooo, xx, o, x, o, x, ooooo]
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda