Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Shakos en 28 Abril 2011, 21:18 pm



Título: Tokenizer
Publicado por: Shakos en 28 Abril 2011, 21:18 pm
Tengo una duda sobre el tokenizer, me han dicho que es perfecto para lo que yo quiero hacer pero no se como usarlo.
El caso es que a mi me interesa que el usuario pueda escribir (tanto en mayus como en min) publicar , seguido de lo que se va ha publicar
hasta ahora lo que hacia era que si if(comando.startWith("publicar")) esto pone la reestriccion que solo se puede escribir (publicar), no se podria poner PUBLICAR , ni pUbLicar por ejemplo cosa que vi el equalsIgnoreCase que tampoco me sirve porque en tal caso y como la palabra indica tiene que ser igual y yo nunca se que puede seguir a la palabra publicar


Título: Re: Tokenizer
Publicado por: Valkyr en 29 Abril 2011, 01:34 am
La clase String de java implementa un método llamado toLowerCase() y toUpperCase(), quizás te sirvan para lo que quieras hacer. El único inconveniente sería que las palabras que el usuario escriba en mayúsculas tras aplicar el método quedarían en minúsculas.

Otra cosa que puedes hacer es quedarte con un substing indicando el inicio (el comienzo de la cadena, es decir, un entero que valga 0) y el fin (que en este caso sería la longitud de la palabra "publicar", que son 8) con esto te quedarías con una subcadena y podrías compararla directamente con el metodo
Código
  1. equalsIgnoreCase("publicar")
[/b].


Espero te sea de utilidad. Saludos.

http://download.oracle.com/javase/6/docs/api/java/lang/String.html

Se me olvidó comentarte, en caso de que quieras hacer uso de la clase StringTokenizer también te serviría, haces
Código
  1. new StringTokenizer(cadena, limitador)
donde cadena es el String que contiene el mensaje y el comando, y limitador es lo que separa las palabras, que en tu caso debería ser el espacio en blanco. Esta es una forma de usarlo, supongo que podrías hacerlo de otras, yo la verdad, para lo que quieres, veo más sencillo lo que te he escrito anterior a esto.

Suerte.