Expresiones Regulares en Java_Duda con String

Iniciado por Tuplado, 28 Diciembre 2012, 15:29 PM

0 Miembros y 1 Visitante están viendo este tema.

Tuplado

Me gustaría ordenar las palabras de esta String, pero sin recorrerlas con loop, alguna idea.

// METODO MAIN

String cadena = " 345 casas tienes 520 habitaciones 3 balcones";  // ingresada por teclado
String valor = cadena.replaceAll("[^a-zA-Z]"," ");

System.out.println(value);

// RESULTADOS

  /*
  * " 345 casas tienes 520 habitaciones 3 balcones"  // CADENA INGRESADA
  * "     casas tienes     habitaciones   balcones" // RESULTADO ELIMINANDO NÚMEROS
  * "casas tienes habitaciones balcones"               // RESULTADO QUE QUIERO CONSEGUIR
  */


Gracias de antemano, y espero que haya una función que las ordene.

1mpuls0

Hola.

Cuál es tu idea entonces?.

La expresión regular es solo para reemplazar los números encontrados por algo vacio?, o tendría alguna otra función segun tú?.

Pero no entiendo de que forma necesitas ordenarla ._. porque alfabeticamente tendría que quedar "balcones casas habitaciones tienes"

Saludos.
abc

1mpuls0

Esto te sirve?...

Código (java) [Seleccionar]

/**
* @(#)TestOrdenaPalabras.java
*
* TestOrdenaPalabras application
*
* @author Darhius929
* @version 1.00 2012/12/28
*/
import java.util.Arrays;

public class TestOrdenaPalabras {
   
    public static void main(String[] args) {
    new TestOrdenaPalabras();
    }
   
    public TestOrdenaPalabras() {
    String cadena = " 345 casas tienes 520 habitaciones 3 balcones";  // ingresada por teclado
    String expresion = "[0-9 ]+"; //Expresion que toma los numeros y espacios en blanco
cadena = cadena.replaceAll(expresion, " "); //
cadena = cadena.trim(); //Eliminar espacios en blanco al inicio y final de cadena
   
String [] palabras;
palabras = cadena.split(" ");
Arrays.sort(palabras); //Utilizar el metodo sort de la clase Arrays para ordenar

cadena="";
for(int indice=0; indice<palabras.length; indice++) {
cadena+=palabras[indice]+" ";
}

System.out.println(cadena);
    }
}


Saludos.
abc

Tuplado

Sii muy bueno, gracias campeón, ahora voy a tener que necesitar un curso de inglés jejej.

Muchas gracias Darhius.

Y ahora si Feliz Año nuevo tio