2010-10-01 4 views
4

Je veux supprimer $ {anything} ou $ {somethingelse} d'une chaîne, mais je ne trouve pas l'expression régulière.

Mon code actuel

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} 

Je suis sûr que la solution est stupide, mais pas moyen de trouver.

Répondre

7

Essayez celui-ci:

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

Le .*? correspond à la plus courte possible chaîne qui est suivie par }.

+0

Il fonctionne! THX ! – Antoine

+0

@Antoine Meausoone Puis marquez la réponse comme acceptée (cochez ci-dessous le compteur de vote) – Bozho

+0

ouais je devais attendre 15 minutes, et merci encore vous avez sauvé mon week-end :) – Antoine

1

vous supprimez un certain nombre de { « s, parce que vous avez {* au lieu de .*

devrait être \\$\\{.*\\}

qui en effet permettre quoi que ce soit entre les accolades, ne voulez-vous que pour être alpha seulement ou quelque chose?

qui serait \\$\\{[a-zA-Z]*\\}

0

Une autre solution serait \\$\\{[^\\}]*\\} (tout caractère différent de celui})

Questions connexes