ホーム>source
<xsl:variable name="asteriskSpaceSpaceAsterisk" select="'*  *'"/>
<xsl:value-of select="$asteriskSpaceSpaceAsterisk"/>
EXPECTED OUTPUT
*  *
ACTUAL OUTPUT
* *

質問1)上記の行には、2つではなく1つのスペースしか格納されていません。

質問2)

<xsl:when test="starts-with($strippedString,'*  *')">
   <xsl:value-of select="substring($strippedString,5,string-length($strippedString))"/>
</xsl:when>

文字列がアスタリスクの間に2つのスペースを含むサブ文字列で始まっても一致しません。試合をするにはどうすればいいですか?

私はxslt 1.0を使用しています

あなたの答え
  • 解決した方法 # 1

    ブラウザで表示するテキストを作成する場合、変数を次のように定義できます。

    <xsl:variable name="asteriskSpaceSpaceAsterisk" select="'*&#160;&#160;*'"/>
    
    

    このように、文字列には2が含まれます割れない 「押しつぶされない」スペース ブラウザによって単一のスペースに。

    別のコメント: substring で  関数、3番目の引数は長さ の 「停止位置」ではなく、出力文字列。

    しかし、ある点から最後まで部分文字列を抽出したい場合は、 このパラメーターを省略してください。

関連記事

  • 前へ java - JPAクエリ:サブクエリをグループ化条件に結合する
  • 次へ datetime64およびdatetimetime Python 365の解析