Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

106
Visualizações
BreakIterator falla en Unicode UCD LineBreakTest

El consorcio Unicode proporciona un archivo LineBreakTest para verificar que su código de salto de línea funciona correctamente. Usando la propia biblioteca de Unicode icu4j , no puedo pasar el caso de prueba × [0.3] HYPHEN-MINUS (HY) ÷ [999.0] NUMBER SIGN (AL) ÷ [0.3] . Esto funciona con la biblioteca integrada de Java. Según la tabla de ruptura de línea de UCD , también debería haber una ruptura allí.

¿Que me estoy perdiendo aqui? ¿No debería haber un corte donde dice? ¿Depende esta configuración regional, pero no está especificada en el archivo LineBreakTest?

Aquí hay un código kotlin para reproducir.

 val lineInstance = java.text.BreakIterator.getLineInstance() val lineInstanceIcu4j = com.ibm.icu.text.BreakIterator.getLineInstance() fun main() { println(lineBreakJava("-#")) println(lineBreakIcu4j("-#")) } fun lineBreakJava(text: String): MutableList<String> { lineInstance.setText(text) var start = lineInstance.first() var end = lineInstance.next() val breakableLocations = mutableListOf<String>() while (end != BreakIterator.DONE) { val substring = text.substring(start, end) breakableLocations.add(substring) start = end end = lineInstance.next() } return breakableLocations } fun lineBreakIcu4j(text: String): MutableList<String> { lineInstanceIcu4j.setText(text) var start = lineInstanceIcu4j.first() var end = lineInstanceIcu4j.next() val breakableLocations = mutableListOf<String>() while (end != BreakIterator.DONE) { val substring = text.substring(start, end) breakableLocations.add(substring) start = end end = lineInstanceIcu4j.next() } return breakableLocations }

salida real:

 [-, #] [-#]

Rendimiento esperado:

 [-, #] [-, #]

editar:

Aparentemente, IntelliJ había eliminado mi dependencia de icu4j. Después de volver a agregarlo, obtengo lo contrario de lo que estaba sucediendo antes. Ahora los casos de prueba que estaban pasando están fallando. He actualizado el ejemplo con uno de los casos fallidos.

over 4 years ago · Santiago Trujillo
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda