Попробуйте это:
public static String convertDateString(String s) {
Pattern p = Pattern.compile("(\\d{4})/(\\d{2})/(\\d{2})");
Matcher m = p.matcher(s);
if (m.find()) {
return m.group(3) + "/" + m.group(2) + "/" + m.group(1);
}
return null;
}
// ...
convertDateString("2011/12/23"); // => "23/12/2011"
Или, если вы просто хотите сделать это «на месте», попробуйте это:
public static String convertDateString2(String s) {
StringBuilder buf = new StringBuilder();
Pattern p = Pattern.compile("(\\d{4})/(\\d{2})/(\\d{2})");
Matcher m = p.matcher(s);
if (m.find()) {
buf.append(s.substring(0, m.start(1)));
buf.append(m.group(3)).append("/");
buf.append(m.group(2)).append("/");
buf.append(m.group(1)).append(s.substring(m.end(3)));
return buf.toString();
}
return null;
}
// ...
convertDateString2("Print Date: 2011/12/23.");
// => "Print Date: 23/12/2011."