все ответы должны работать.
Оба:
String formattedString = unformattedString.replaceAll(" +"," ");
или
String formattedString = unformattedString.replaceAll("\\s+"," ");
Может быть, unformattedString является многострочным выражением. В этом случае вы можете создать экземпляр объекта Pattern
String unformattedString = " Hello \n\r\n\r\n\r World";
Pattern manySpacesPattern = Pattern.compile("\\s+",Pattern.MULTILINE);
Matcher formatMatcher = manySpacesPattern.matcher(unformattedString);
String formattedString = formatMatcher.replaceAll(" ");
System.out.println(unformattedString.replaceAll("\\s+", " "));
Или, может быть, у unformattedString есть специальные символы, в этом случае вы можете играть с помощью Pattern flags и метода компиляции.
Примеры:
Pattern.compile("\\s+",Pattern.MULTILINE|Pattern.UNIX_LINES);
или
Pattern.compile("\\s+",Pattern.MULTILINE|Pattern.UNICODE_CASE);