В дополнение к новым строкам у вас, кажется, есть и окружающие пробелы, поэтому вам нужно использовать регулярное выражение, которое также может захватывать дополнительные пробелы. Попробуйте этот код Java,
String s = "a \n \n \n \n \n b";
System.out.println("Before: " + s);
System.out.println("After: " + s.replaceAll("( *\n *){2,}", "\n"));
Печать
Before: a
b
After: a
b