Home
Über mich
Blog
Veröffentlichungen
IT-Trainings
Impressum


substring, string-length

Zusammenfassung:

Die XPath-Funktion "substring" erlaubt, aus einer Zeichenkette einen Teilstring zu ermitteln.

substring, string-length

Die "substring"-Funktion hat mindestens 2, optional drei Parameter:

Häufig kommt es vor, daß nur die letzten z.B. drei Buchstaben eines Strings verwendet werden sollen. Dazu ist erforderlich, zuerst die Länge des Gesamtstrings zu erfassen, dies geschieht mit "string-length". Ist die gesamte Stringlänge von "Sinnlos" 7, dann muß dieser Wert um 2 subtrahiert werden, um die Startposition 5 für den Substring zu erhalten. Das Resultat lautet dann "los".

Adressiert wird die Menge der relevanten Nodes über XPath "Orte/Ort[1]/Mensch", also alle Childnodes "Mensch" im ersten "Ort" (also Ort[1] = Ort[position() = 1].

  <xsl:for-each select="Orte/Ort[1]/Mensch">
  	<xsl:value-of select="substring(name, string-length(name)-2)" />
  	<xsl:if test="position() != last()">
    <xsl:text>, </xsl:text>
  	</xsl:if>
  </xsl:for-each>

Umgekehrt kommt es vor, daß lediglich die ersten Zeichen eines Strings gesucht werden, die letzten drei Zeichen müssen jedoch abgeschnitten werden. Auch hier kommt wieder substring in Kombination mit string-length zum Einsatz. Hier ist der zweite Parameter jedoch die erste Position (1) des Strings, der zweite Substring-Parameter ermittelt die Stringlänge abzüglich der letzten drei Stellen.

  <xsl:for-each select="Orte/Ort[1]/Mensch">
  	<xsl:value-of select="substring(name, 1, string-length(name)-3)" />
  </xsl:for-each>

Sind die betreffenden letzten drei Buchstaben bekannt, z.B. 'los', so kommt alternativ auch substring-before zum Einsatz:

<xsl:value-of select="substring-before(name, 'los')"/>

qrpic/substring.jpg

wg / 3. Oktober 2017




Fragen? Anmerkungen? Tips?

Bitte nehmen Sie Kontakt zu mir auf (info10@wilfried-grupe.de).



Vielen Dank für Ihr Interesse an meiner Arbeit.


V.i.S.d.P.: Wilfried Grupe * Klus 6 * 37643 Negenborn

Mobil: 0151. 750 360 61 * eMail: info10@wilfried-grupe.de