Zeichen in Zeichenkette zählen
moni
- xsl
0 MudGuard
0 moni
0 Thomas J.S.0 moni
Hallo zusammen,
weiss jemand wie man die Anzahl eines bestimmten Zeichens in XSL herausfinden kann?
Mein Problem:
<TEXT>Das ist ein langer Text und der kann
auch Linefeeds enthalten, wie hier
und diese Lienbfeeds muss ich zählen.
Könnt ihr mir
einen Tipp geben wie sich das mit XSL bewerkstelligen
lässt?</TEXT>
Ich muss nun herausfinden wieviele Linefeeds ( ) sich im o.g. Text befindet. In dem Falle müsste ich die Zahl 5 erhalten... Eine Idee?
Danke im voraus
moni
Hi,
weiss jemand wie man die Anzahl eines bestimmten Zeichens in XSL herausfinden kann?
Ich muss nun herausfinden wieviele Linefeeds ( ) sich im o.g. Text befindet.
AFAIK gibt es da nichts fertiges.
Ich fürchte, das mußt Du mit contains(), substring-after() und einem rekursiven Template selberbauen müssen.
cu,
Andreas
Hi Andreas,
das hatte ich befürchtet! Na, danke trotzdem, dann mach ich mich ma an die abbeit...
grüsse
moni
Hallo,
weiss jemand wie man die Anzahl eines bestimmten Zeichens in XSL herausfinden kann?
Mein Problem:
<TEXT>Das ist ein langer Text und der kann
auch Linefeeds enthalten, wie hier
und diese Lienbfeeds muss ich zählen.
Könnt ihr mir
einen Tipp geben wie sich das mit XSL bewerkstelligen
lässt?</TEXT>Ich muss nun herausfinden wieviele Linefeeds ( ) sich im o.g. Text befindet. In dem Falle müsste ich die Zahl 5 erhalten... Eine Idee?
Geht nur mit einem recursiven Template:
<xsl:template match="TEXT">
<xsl:call-template name="countCR">
<xsl:with-param name="counter" select="0"/>
<xsl:with-param name="text" select="."/>
</xsl:call-template>
</xsl:template>
<xsl:template name="countCR">
<xsl:param name="counter"/>
<xsl:param name="text" />
xsl:choose
<xsl:when test="contains($text, '
')">
<xsl:variable name="mbCounter" select="$counter + 1"/>
<xsl:call-template name="countCR">
<xsl:with-param name="text" select="substring-after($text, '
')" />
<xsl:with-param name="counter" select="$mbCounter" />
</xsl:call-template>
</xsl:when>
xsl:otherwise
<xsl:value-of select="$counter" />
</xsl:otherwise>
</xsl:choose>
</xsl:template>
Grüße
Thomas
Danke Thomas, ich versuchs mal! :)
grüsse
moni