fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static void main (String[] args) throws java.lang.Exception
  11. {
  12. String s = "Hoje em dia, é necessário ser esperto. O nosso dia a dia é complicado. Zé. diafragma. Dia. É. Dia.";
  13. String prefixo = "<b>";
  14. String sufixo = "</b>";
  15. System.out.println(marcarRepetidas(s, prefixo, sufixo));
  16. }
  17.  
  18. public static String marcarRepetidas(String s, String prefixo, String sufixo) {
  19. Set<String> palavras = new HashSet<String>();
  20. Set<String> palavrasRepetidas = new HashSet<String>();
  21.  
  22. for ( String palavra : s.split("[^a-zA-Zà-úÀ-Ú]+") ) {
  23. palavra = palavra.toLowerCase();
  24. if ( palavra.length() > 0 && palavras.contains(palavra) )
  25. palavrasRepetidas.add(palavra);
  26. palavras.add(palavra);
  27. }
  28.  
  29. for ( String palavra : palavrasRepetidas )
  30. s = s.replaceAll("(?<![a-zA-Zà-úÀ-Ú])(?iu)(" + palavra + ")(?![a-zA-Zà-úÀ-Ú])",
  31. prefixo + "$1" + sufixo);
  32.  
  33. return s;
  34. }
  35. }
Success #stdin #stdout 0.11s 320320KB
stdin
Standard input is empty
stdout
Hoje em <b>dia</b>, <b>é</b> necessário ser esperto. O nosso <b>dia</b> a <b>dia</b> <b>é</b> complicado. Zé. diafragma. <b>Dia</b>. <b>É</b>. <b>Dia</b>.