Как добавить пробелы внутри строки?

Есть математическое выражение, например, которое приходит в переменную String expression. Например, такое выражение "(2+2)*2", и из этого выражения нужно сделать такой вид строки "( 2 + 2 ) * 2". В переменной expression может быть любые другие выражения.

Возможно, есть регулярка какая-то, которая может решить мою проблему, или как то по-другому возможно это сделать?


Ответы (1 шт):

Автор решения: Vadik

Попробуйте следующим способом:

expression.replaceAll("[-+*/()]", " $0 ").replace("  ", " ").trim()

Как это работает:

  1. Добавляем пробел до и после каждого математического знака -, +, *, /, (, и ). При необходимости, добавьте свои символы.
  2. Удаляем полученные двойные пробелы.
  3. Убираем лишние пробелы в начале и в конце строки.
→ Ссылка