Comment faire pour supprimer toute la sous-chaîne à partir de '<' "> " en Java
J'ai un programme qui prend une chaîne d'entrée. Je veux supprimer quoi que ce soit à l'intérieur de l'caractères '<' et '>'. Par exemple, si la chaîne indique
"P.S.<!--
BODY
{
color:white;
background-color: transparent;
font-family:sans-serif;
}
--> Hello how are you today?"
Je veux la chaîne de sortie pour ne contenir que "P.S. Hello how are you today?"
. Est-il une façon simple de le faire en Java? Grâce
et le "<" / ">" combinaison existe en une seule fois ou plusieurs fois?
Je vous recommande de viser
Je vous recommande de viser
<!--*-->
pas <*>
de sorte que vous êtes en fait en tirant des commentaires, et pas seulement les balises.
OriginalL'auteur Sean | 2011-08-17
Vous devez vous connecter pour publier un commentaire.
Utiliser une expression régulière:
Ce que cela signifie est de trouver tous les sous-chaîne commençant par
<
, ensuite n'importe quel nombre de caractères qui ne sont pas>
, et puis le personnage>
. Ensuite, remplacer tous ces sous-chaînes avec la chaîne vide,""
.Référence: java.lang.Chaîne de caractères.replaceAll()
<[^>]*>
? L'actuel regexp va tourner"<foo>bar<baz> <.>"
en" <.>"
, pas"bar "
.Samuel: Déjà édité, merci. Ce qui s'est passé, j'ai d'abord voulu utiliser un réticents quantificateur, c'est à dire
/<.*?>/
, mais a décidé contre la complexité conceptuelle de l'utiliser. J'ai fait une erreur d'édition en train de changer ma décision.Merci, cette méthode a très bien fonctionné. Est-il une méthode comme replaceAll pour la Duré de la classe?
Qu'est ce qu'un Fractionné classe?
C'est comme un string, mais il a d'autres trucs comme les couleurs de texte et les styles java2s.com/Open-Source/Android/android-core/...
OriginalL'auteur Nayuki
Si vous préférez éviter d'utiliser des expressions régulières, vous pouvez utiliser la sous-chaîne:
`Java Chaîne De Référence De Classe
String text = "This <!-- comment -->is a<!-- other comment-->test.";
En effet. Pour corriger, il suffit de remplacer
lastIndexOf('>')
avecindexOf('>')
.vrai, mais l'OP n'a pas spécifier de multiples occurrences.
indexOf vont manquer à la deuxième occurrence. Vous auriez à boucle à l'utilisation de sous-chaîne avec de tels exemples.
Le contexte est tout à fait évident - c'est un commentaire XML. Ainsi, alors que l'OP n'a pas dit "j'ai besoin de plusieurs occurance manipulation" son exemple est clairement une norme qui ne.
OriginalL'auteur JJ.