Есть ли способ использовать регулярное выражение Java для изменения строки в определенный формат?Например, у меня есть строка ввода, содержащая дату и время, которые можно вводить с различными разделителями. Могу ли я использовать регулярное выражение, чтобы изменить его на использование определенного разделителя?Если я могу, как я могу это сделать?В настоящее время я просто проверяю ввод с помощью регулярного выражения, а затем объединяю новую строку вместе с желаемыми разделителями, например так:
Pattern dtPatt = Pattern.compile("\\d\\d\\d\\d[/\\-.]\\d\\d[/\\-.]\\d\\d[tT/\\-.]\\d\\d[:.]\\d\\d[:.]\\d\\d");
Matcher m = dtPatt.matcher(dtIn);
if (m.matches()) {
String dtOut = dtIn.substring(0, 4) + "/" + dtIn.substring(5, 7) + "/" +
dtIn.substring(8, 10) + "-" + dtIn.substring(11, 13) + ":" +
dtIn.substring(14, 16) + ":" + dtIn.substring(17, 19);
// do processing with dtOut
} else {
System.out.println("Error! Bad date/time entry.");
}
Кажется, что я мог бы сделать это с помощью регулярного выражения, номного гугля, чтения и экспериментов не дало ничего, что работает.