Procurando palavras em um objeto String

3 respostas
Rodrigo_de_Mello

Ola pessoal.

Preciso ‘varrer’ uma String e procurar por algumas palavras nesse conteúdo (abaixo tipo verificar se tem already, has e permission por exemplo).

Tem algum metodo na classe String que faça isso? Verifiquei no javadoc e não achei nada que faça essa verificação.

Agradeço.

Obrigado!!!

public class Testa {
	
	public static void main(String [] args){		

			String msg = "dadfadfadafadfadfadfdada already has dfafdada permission";
			String msg2;
			int index = msg.trim().toString().indexOf("already has permission");			
			msg2 = msg.trim().toString().substring(index);			
			System.out.println("MSG2.... " + msg2);

	}
}

3 Respostas

V

Bom cara, existe o método “contains”, que varre a String e verifica se os caracteres passados foram encontrados. Este método retorna um boolean.

Vou dar um exemplo

/** Método que converte a string passada como parâmetro para um double de duas casas
	 * decimais
	 * 
	 * @param number
	 * 			A String que será transformada em double
	 * @return
	 * 			Um double de duas casas decimais representando a String passada como parâmetro.
	 * Caso algum erro ocorra durante a conversão, o retorno será 0
	 */
	public static double strToDouble(String number) {
		try {
                        //Aqui eu verifico se a String informada possui o caracter vírgula
			if (number.contains(",")) {
				number = number.replace(",", ".");
			}			
			return DOUBLE_FORMATTER.parse(number).doubleValue();			
		} catch (ParseException e) {
			System.out.println("");
			e.printStackTrace();
			return 0;
		}
	}
Rodrigo_de_Mello

Desculpas vtr, realmente o contains resolve o problema. A questão é que eu estava utilizando a versão 1.4.2 do java e esse carinha é apartir da 5.

Apesar que verificando no guj novamente, o indexOf também me atende. Eu usei ele para obter da primeira palavra pra frente, depois com o contains funcionou legal.

Vlw pela força.

Muito obrigado.

Abs,

Rodrigo_de_Mello

RESOLVIDO!!!

VLW.

Criado 10 de setembro de 2008
Ultima resposta 10 de set. de 2008
Respostas 3
Participantes 2