String newName = file.getName();
newName = newName.replaceAll(" \\[[A-Za-z0-9_-]+]\\.", ".");
newName = newName.replaceAll("\\[", "(");
newName = newName.replaceAll("]", ")");
newName = newName.replaceAll("[^0-9A-Za-z (),.-]", "");
{
StringBuilder sb = new StringBuilder(newName);
boolean firstDot = true;
for (int i = sb.length() - 1; i >= 0; i--) {
char c = sb.charAt(i);
if (c == '.') {
if (firstDot) {
firstDot = false;
} else {
sb.deleteCharAt(i);
}
}
}
newName = sb.toString();
}
newName = newName.replaceAll(" +\\.", ".");
newName = newName.replaceAll(" {2,}", " ");
newName = newName.replaceAll(" +,", ",");
newName = newName.replaceAll("\\( +", "(");
newName = newName.replaceAll(" +\\)", ")");