fork(1) download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6. import java.util.regex.*;
  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 line = "foo <<VAR>> bar <<VAR>> in <<NO>>";
  13. Matcher m = Pattern.compile("<<(\\w+)>>").matcher(line);
  14. Map<String,String> replacements = Collections.singletonMap("VAR","REPLACEMENT");
  15. StringBuffer replacedLine = new StringBuffer();
  16. while (m.find()) {
  17. if (replacements.get(m.group(1)) != null)
  18. m.appendReplacement(replacedLine, replacements.get(m.group(1)));
  19. else
  20. m.appendReplacement(replacedLine, m.group());
  21. }
  22. m.appendTail(replacedLine);
  23. System.out.println(replacedLine.toString());
  24.  
  25. }
  26. }
Success #stdin #stdout 0.04s 711168KB
stdin
Standard input is empty
stdout
foo REPLACEMENT bar REPLACEMENT in <<NO>>