Другой способ обрезать его - использовать взгляд вперед и оглядываться назад, чтобы убедиться, что пробел расположен между двумя непробельными символами ... что-то вроде:
String[] arr = str.split("(?<=\\S)\\s+(?=\\S)");
Проблема в том, что он не обрезает начальные пробелы, давая такой результат:
a
b
но не должен, так как String#split(...)
для расщепления, а не обрезки.