[Xslt] Extraire une sous-chaine
Résolu
velderama
Messages postés
199
Date d'inscription
Statut
Membre
Dernière intervention
-
velderama Messages postés 199 Date d'inscription Statut Membre Dernière intervention -
velderama Messages postés 199 Date d'inscription Statut Membre Dernière intervention -
Bonjour a tous,
Ma question est comment récupérer une sous chaine contenue dans une phrase en Xslt?
j'ai une phrase comme ceci :
j'essaie de récupérer dans une variable la sous-chaine "les voyelles que tu peux prononcer." en faisant :
résultat :
Merci de votre aide !
--
Ma question est comment récupérer une sous chaine contenue dans une phrase en Xslt?
j'ai une phrase comme ceci :
citation : Quand tu as un canon de revolver dans la bouche, il n'y a que les voyelles que tu peux prononcer. Fight Club
j'essaie de récupérer dans une variable la sous-chaine "les voyelles que tu peux prononcer." en faisant :
<xsl:template name="tronqueur"> <xsl:param name="maphrase" /> <xsl:variable name="step" select="concat( substring-after(maphrase,'que '), substring-before(maphrase,'Fight ') )" /> <!-- J'affiche ma variable... --> <xsl:value-of select="$step"/> </xsl:template>
résultat :
les voyelles que tu peux prononcer. Fight Club citation : Quand tu as un canon de revolver dans la bouche, il ny a que les voyelles que tu peux prononcer.
Merci de votre aide !
--
A voir également:
- [Xslt] Extraire une sous-chaine
- Extraire une video youtube - Guide
- Extraire le son d'une vidéo - Guide
- Chaine tnt gratuite sur mobile - Guide
- Extraire texte d'une image - Guide
- Extraire image pdf - Guide
1 réponse
J'ai trouvé UNE solution en utilisant les fonctions
ce qui donne avec la phrase :
citation : Quand tu as un canon de revolver dans la bouche, il n'y a que les voyelles que tu peux prononcer. Fight Club
Attention en Xsl la première valeure commence par 1 et non par 0 comme dans beaucoup de langage (d'où le -1 à ( $fin - $debut) )
A+
-substring-before(chaine,'le_mot_de_debut_de_la_souschaine') : retourne la sous-chaine "avant" le mot -string-length (chaine) : retourne la longueur de la chaine -substring(chaine_a_tronquer,debut,longueur) : retourne la sous_chaine comprise entre début et longueur
ce qui donne avec la phrase :
citation : Quand tu as un canon de revolver dans la bouche, il n'y a que les voyelles que tu peux prononcer. Fight Club
<!-- Calcul de la position du debut de la sous-chaine commençant par "les"--> <xsl:variable name="debut" select="string-length(substring-before($maphrase,'les'))"/> <!-- Calcul de la position du debut de la sous-chaine commençant par "prononcer"--> <xsl:variable name="fin" select="string-length(substring-before($maphrase,'prononcer'))" /> <!--Enfin on trouve la sous-chaine --> <xsl:variable name="resultat" select="substring($maphrase,$debut,( $fin - $debut) - 1)"/> <!--J'affiche le résultat --> <xsl:value-of select="$resultat" />
Attention en Xsl la première valeure commence par 1 et non par 0 comme dans beaucoup de langage (d'où le -1 à ( $fin - $debut) )
A+