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>