6
votes

Suppression d'une sous-chaîne entre deux caractères (Java)

J'ai une chaîne Java telle que ceci: xxx

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.

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.


0 commentaires

3 Réponses :


21
votes

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("<.*?>", "");


0 commentaires

3
votes

Pour éviter Regex:

String[] allToRemove = StringUtils.substringsBetween(string, "<", ">");
String result = string;
for (String toRemove : allToRemove) {
  result = StringUtils.remove(result, "<" + toRemove + ">"); 
}


0 commentaires

0
votes

Vous devez utiliser xxx

<[^>] *> correspond à des sous-chaînes commençant par << / code>, puis zéro ou plus caractères autre que > (ou les caractères autres que << / code> et > Si vous choisissez la deuxième version), puis un > Char.

Notez que <. *?>


0 commentaires