Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/06/2006, 14:28
Avatar de stock
stock
 
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 20 años, 5 meses
Puntos: 53
muy sencillo por supuesto!!

para estos casos las expresiones regulares son la manera mas facil de resolverlo...

ok, si sabes que es una expresion regular?? bueno supongo que si, entonces, lo unico que hay que ahcer es hacer la expresion donde unicamente se acepten letras y espacio, las letras sabemos que comienzan de A-Z y a-z. hasta ahora la expresion esta asi

[A-Za-z]

nos ahce falta el espacio, pues se lo agregamos dentro del rango

[A-Za-z ]

ok, exelente! esa expresion cumple para:

ej1: Hola como estas
ej2: para EsTa TaMbIeN

pero no para estas:

ej1: No para mi, que triste :(
ej2: tampoco para mi?? porque??

bien, hasta aqui todo bien, perooooo, lo que aqui se necesita es que cuando esten otros caracteres que no sean letras ni espacio me lo haga saber para que yo les mande un mensaje de entrada invalida, ok, entonces lo unico que tenemos que ahcer es negar nuestra expresion.

[^A-Za-z ]

ahora si!! esta lista para decirme cuando se encuatran otros caracteres raros!!

ok, pasemos a JAVA, para el manejo de expresiones tenemos 2 clases...

java.util.regex.Matcher;
java.util.regex.Pattern;

laa primera definimos el patron o la expresion que queremos.
con la segunda validamos la entrada....

el codigo quedaria asi:
Código PHP:
/**
 * @author Crysfel Villa
 */
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class 
Expresion {
    public static 
void main(String args[]){
        
String entrada " No para mi que triste yeah";
        
Pattern patron Pattern.compile("[^A-Za-z ]");
        
Matcher encaja patron.matcher(entrada);
        
        if(!
encaja.find())
            
System.out.println("solo tiene letras y espacio!");
        else
            
System.out.println("tiene otra cosa");

        
//tambie podemos quitarle esos caracteres y dejar solo las letras y espacios, checa esto!!
        
String resultado encaja.replaceAll("");
        
System.out.println(entrada);
        
System.out.println(resultado);
    }

bueno, espero que este mini tutorial te peuda servir!!