fork 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 s = "25 a-b boulevard d'armes Boulevard D'armes";
  13. StringBuffer result = new StringBuffer();
  14. Matcher m = Pattern.compile("\\b(?:(D)(?=')|(?<!-)\\p{L}(?!'))").matcher(s);
  15. while (m.find()) {
  16. if (m.group(1) == null) {
  17. m.appendReplacement(result, m.group(0).toUpperCase());
  18. } else {
  19. m.appendReplacement(result, m.group(1).toLowerCase());
  20. }
  21. }
  22. m.appendTail(result);
  23. System.out.println(result.toString());
  24.  
  25. }
  26. }
Success #stdin #stdout 0.04s 4386816KB
stdin
Standard input is empty
stdout
25 A-b Boulevard d'Armes Boulevard d'Armes