Удалить "$ {что-нибудь}" из строки в Java - PullRequest
4 голосов
/ 01 октября 2010

Я хочу удалить $ {что-нибудь} или $ {кое-что} из строки, но я не нахожу регулярное выражение.

Мой действительный код

String url = http://test.com/index.jsp?profil=all&value=${value}
String regex = "\\$\\{*\\}";
url = url .replaceAll(regex, ""); // expect http://test.com/index.jsp?profil=all&value= 
//but it is http://test.com/index.jsp?profil=all&value=${value}

Я уверен, что решение глупо, но найти его невозможно.

Ответы [ 3 ]

7 голосов
/ 01 октября 2010

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

"\\$\\{.*?\\}"

.*? соответствует самой короткой из возможных строк, за которой следует }.

1 голос
/ 01 октября 2010

вы удаляете любое количество {, потому что у вас есть {* вместо .*

должно быть \\$\\{.*\\}

, которое действительно разрешит что-либо междуфигурные скобки, вы хотите, чтобы это было только альфа или что-то еще?

это было бы \\$\\{[a-zA-Z]*\\}

0 голосов
/ 02 октября 2010

Другое решение будет \\$\\{[^\\}]*\\} (любой символ, отличный от})

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