Comment faire pour supprimer les espaces de fin de texte d'un élément. (XSL)
Personne ne sait ce code XSL supprimer la fin des espaces après le dernier mot dans un élément?
<p>This is my paragraph. </p>
Merci!!
normalize-space() supprime tous les espaces de départ et tous fuite des espaces. Il remplace également chaque groupe d'interne d'espace avec un seul espace. Vous n'avez pas de départ les espaces et tous les espaces est un seul espace. Avec une autre entrée, il pourrait être plus (inattendue) des changements.
OriginalL'auteur joe | 2009-04-15
Vous devez vous connecter pour publier un commentaire.
Regarder la
normalize-space()
XPath fonction.Attention, il y a un hic (qui peuvent ou peuvent ne pas être pertinentes pour vous):
Cela signifie qu'il supprime également tous les sauts de ligne et les tabulations et d'autres espaces et les transforme en un espace unique.
C'est vrai. Je suppose que c'est mieux: stylusstudio.com/xsllist/200212/post10190.html
J'ai insisté sur la délicate peu dans ma réponse. Si ça ne dérange pas l'OP, je suppose que normalize-space() est assez bonne.
normalize-space() supprime tous les espaces de départ et tous fuite des espaces. Il remplace également chaque groupe d'interne d'espace avec un seul espace. Vous n'avez pas de départ les espaces et tous les espaces est un seul espace. Avec une autre entrée, il pourrait être plus (inattendue) des changements.
Ne peut-il pas? "^\s+|\s+$" devrait faire le travail.
OriginalL'auteur Tomalak
MODIFIER: une Importante simplification du code, grâce à un soupçon de Tomalak.
Voici un XPath 2.0 /XSLT 2.0 solution, qui ne supprime que les espaces:
Lorsque cela est appliqué sur le document XML suivant:
le résultat voulu est produit:
Vous pouvez voir le XSLT 1.0 solution (mise en œuvre de presque la même idée), qui utilise FXSL 1.x, ici:
http://www.biglist.com/lists/xsl-list/archives/200112/msg01067.html
Oui, probablement, mais j'ai besoin de regarder dans les livres de référence. Quand je répondais que j'avais juste quelques gratuit secondes, ce qui reflète ma façon plutôt superficielle de la RegEx de la connaissance.
Voir mon autre commentaire.
Vous êtes de droite. Cette découpe une chaîne de caractères: remplacer(., '^\s+|\s+$', ", 'm') . Le problème que je connais ne peuvent pas être atteints avec la RegEx est-à-dire si une chaîne contient équilibrée entre parenthèses.
OriginalL'auteur Dimitre Novatchev