O codigo que criei nao substitui as palavras que eu quero pelo espaço! O que está errado?
public static String isolaPalavrasChave(String frase) {
String palavrasRetirar = " o - a - de - dos - das - sao - que - em - um - as - os - para - do - da - no - nas - nos - na - para -...-,- uma - umas ";
String[] palavraschaveSeparadas = palavrasRetirar.split("-");
for (int x =0; x<palavraschaveSeparadas.length;x++){
System.out.println(palavraschaveSeparadas[x]);
frase.replaceAll(palavraschaveSeparadas[x], " ");
}
return frase;
}
1 - cada string será composta por um espaço antes e outro depois: Por exemplo:
palavraschaveSeparadas[0] -> " o ". Então, não será trocado quando vogal de silaba, mas só quando aparecer como artigo, por exemplo. É isso mesmo que queres?
2 - O método replaceAll retorna uma String. Logo, deve fazer:
import java.util.Scanner;
public class Teste {
private String isolaPalavrasChave(String frase){
String palavrasRetirar = " o - a - de - dos - das - são - " +
"que - em - um - as - os - para - do - da - no - nas - " +
"nos - na - para -...-,- uma - umas ";
String[] palavrasChaveSeparadas = palavrasRetirar.split("-");
for (int x = 0; x < palavrasChaveSeparadas.length; x++){
System.out.println(palavrasChaveSeparadas[x]);
frase = frase.replace(palavrasChaveSeparadas[x], " ");
}
return frase;
}
public static void main(String[] args){
Scanner leitor = new Scanner(System.in);
Teste teste = new Teste();
System.out.print("Digite a frase: ");
String str = teste.isolaPalavrasChave(leitor.nextLine());
System.out.println("\n" + str);
}
}