quero fazer uma consulta porem gostaria de ignorar letras do tipo “r,s”
por exemplo em minha consulta
banana == bananas
e
ajudar == ajuda
alguem conhece alguma função pronta que faz isso?
quero fazer uma consulta porem gostaria de ignorar letras do tipo “r,s”
por exemplo em minha consulta
banana == bananas
e
ajudar == ajuda
alguem conhece alguma função pronta que faz isso?
Oi… não sei se entendi direito o que você quer.
Mas se está falando de procurar uma String dentro de outra,
tente usar o método public boolean contains(CharSequence s)
Exemplo:
[code]
public class Teste1 {
private String frase;
public Teste1() {
frase = "navegar é coisa de marinheiro";
String verbo = "navega";
if (frase.contains(verbo)) {
System.out.println("Contém o verbo na frase: " + frase);
} else {
System.out.println("Não contém o verbo");
}
}
public static void main(String args[]) {
Teste1 teste = new Teste1();
}
}[/code]
Até ai tudo bem… mas no meu caso eu teria de procurar a palavra “navegar” dentro de “navega” e teria que obter resultado booleano é que no meu caso vou pegar palavras prontas elas podem estar no infinitivo, plural etc… por isso que gostaria de ignorar algumas letras como “s” para plural e “r” para forma infinitiva
acho que vou ter que fazer no braço mesmo…
Tenta isso:
public static boolean exists(String contents, String pattern){
return contents.matches("(?i)(?s).*" + pattern + "(r|s)?.*");
}
uso:
if(exists("Navegar é preciso", "navega")) System.out.println("E não é que funciona?");
Na verdade, você quer ignorar a flexão das palavras, e usar apenas o radical, não?
Para uma lista de palavras da língua portuguesa, com radicais e tudo, você pode procurar adaptar o dicionário do Aspell.
http://leonardof.org/2009/07/05/dicionario-para-aspell-agora-com-o-acordo-ortografico/