fork download
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.*;
  4. import java.util.regex.*;
  5.  
  6. class Ideone {
  7. public static void solve(String s) throws java.lang.Exception {
  8. Pattern p = Pattern.compile("(\\b\\w+\\b)(?=[\\s\\S]*\\b\\1\\b[\\s\\S]*\\b\\1\\b)", Pattern.UNICODE_CHARACTER_CLASS);
  9. String res = p.matcher(s+" "+s).replaceAll("_$1");
  10. res = res.substring(0, res.length() - 1 - p.matcher(s).replaceAll("_$1").length());
  11.  
  12. System.out.println(s);
  13. System.out.println();
  14. System.out.println(res);
  15. System.out.println();
  16. }
  17.  
  18. public static void main(String[] args) throws java.lang.Exception {
  19. solve("This is a test\nAnd this is also a test\nAnd these are also tests\ntest\nЭто тест\nЭто также тест\nИ это также тесты");
  20. solve("Du hast mich gefragt\nDu hast mich gefragt und ich hab nichts gesagt");
  21. }
  22. }
Success #stdin #stdout 0.12s 2184192KB
stdin
Standard input is empty
stdout
This is a test
And this is also a test
And these are also tests
test
Это тест
Это также тест
И это также тесты

This _is _a _test
_And this _is _also _a _test
_And these are _also tests
_test
_Это _тест
_Это _также _тест
И это _также тесты

Du hast mich gefragt
Du hast mich gefragt und ich hab nichts gesagt

_Du _hast _mich _gefragt
_Du _hast _mich _gefragt und ich hab nichts gesagt