Джава; Заменить строку (используя регулярные выражения)? - PullRequest
106 голосов
/ 10 марта 2009

В рамках школьного проекта мне нужно заменить строку из формы:

5 * x^3 - 6 * x^1 + 1

что-то вроде:

5x<sup>3</sup> - 6x<sup>1</sup> + 1

Я считаю, что это можно сделать с помощью регулярных выражений, но я пока не знаю, как это сделать.

Можете ли вы помочь мне?

P.S. Фактическим назначением является реализация Java-приложения Polynomial Processing, и я использую его для передачи polynomial.toString () из модели в представление, и я хочу отобразить его, используя теги html, довольно красиво.

Ответы [ 12 ]

0 голосов
/ 10 марта 2009

Попробуйте это:

String str = "5 * x^3 - 6 * x^1 + 1";
String replacedStr = str.replaceAll("\\^(\\d+)", "<sup>\$1</sup>");

Обязательно импортируйте java.util.regex.

0 голосов
/ 10 марта 2009

Вы захотите изучить захват в регулярном выражении, чтобы справиться с переносом 3 в ^ 3.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...