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

152
Visualizações
Reemplazar el número con el número de espacios

Tengo una cadena:

 String example = "AA5DD2EE3MM";

Quiero reemplazar el número con el número de espacios. Ejemplo:

 String example = "AA DD EE MM"

Si la cadena fuera

 String anotherExample = "a3ee"

Debería convertirse en:

 String anotherExample = "a ee"

Quiero hacerlo para cualquier cadena. No solo para los ejemplos anteriores.

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Divida su entrada en caracteres de dígitos y no dígitos como una secuencia, asigne dígitos al número correspondiente de espacios usando String.repeat , recopile en una cadena usando Collectors.joining() :

 String input = "AA5DD2EE3MM"; String regex = "(?<=\\D)(?=\\d)|(?<=\\d)(?=\\D)"; String result = Pattern.compile(regex) .splitAsStream(input) .map(s -> s.matches("\\d+") ? " ".repeat(Integer.parseInt(s)) : s) .collect(Collectors.joining());
over 4 years ago · Santiago Trujillo Relatório

0

También podría usar este enfoque, que es más simple pero también mucho menos elegante:

 String example = "a4aa"; String newString = ""; for (int i = 0; i < example.length(); i++) { if (Character.isDigit(example.charAt(i))) { for (int a = 0; a < Character.getNumericValue(example.charAt(i)); a++) { newString += " "; } } else { newString += example.charAt(i); } } System.out.println(newString);
over 4 years ago · Santiago Trujillo Relatório

0

Usando un enfoque de comparación de patrones:

 String input = "AA5DD2EE3MM"; Pattern pattern = Pattern.compile("\\d+"); Matcher m = pattern.matcher(input); StringBuffer buffer = new StringBuffer(); while (m.find()) { m.appendReplacement(buffer,new String(new char[Integer.valueOf(m.group())]).replace("\0", " ")); } m.appendTail(buffer); System.out.println(buffer.toString()); // AA DD EE MM

La idea aquí es iterar la cadena, deteniéndose en cada coincidencia de dígitos. Reemplazamos cada dígito con espacio replicado el mismo número de veces que el dígito.

over 4 years ago · Santiago Trujillo Relatório
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