J'ai une chaîne Java telle que ceci: et je veux supprimer les balises. J'ai d'autres cordes où les tags sont beaucoup plus longues, alors j'aimerais trouver un moyen de tout supprimer entre les caractères "<>", y compris ces personnages. P> Une manière d'utiliser la méthode de chaîne intégrée qui compare la chaîne à une regex, mais je ne sais pas comment écrire ceux-ci. P> p>
3 Réponses :
La prudence est conseillée lors de l'utilisation de Regex pour analyser HTML (en raison de sa complexité admissible), cependant pour "Simple" HTML et Simple Texte (texte sans littéral ou
> code> ou
> en elle) cela fonctionnera:
String stripped = html.replaceAll("<.*?>", "");
Pour éviter Regex:
String[] allToRemove = StringUtils.substringsBetween(string, "<", ">"); String result = string; for (String toRemove : allToRemove) { result = StringUtils.remove(result, "<" + toRemove + ">"); }
Vous devez utiliser où Notez que voir le Démo Regex strong> . < / p> p> <[^>] *> code> correspond à des sous-chaînes commençant par
<< / code>, puis zéro ou plus caractères autre que
> code> (ou les caractères autres que
<< / code> et
> code> Si vous choisissez la deuxième version), puis un
> code > Char. p>
<. *?> code> p>
(? s) <. *?> code>,
<(? S :.) *?> code>,
<[\ w \ w] *?> code> et de nombreuses autres variations non si efficaces. Li>
ul>