我想从内容中删除特殊字符和空格
<litem><para>■ <emph type="bold">Target:</emph> Water</para></litem>
<litem><para>◆ Wound-healing response within the dermis and epidermis via application of heat without creating a traumatic wound</para></litem>
输出将是,
<litem><para><emph type="bold">Target:</emph> Water</para></litem>
<litem><para>Wound-healing response within the dermis and epidermis via application of heat without creating a traumatic wound</para></litem>
我使用过这个XSLT,
<xsl:output use-character-maps="m1"/>
<xsl:character-map name="m1">
<xsl:output-character character="■" string=""/>
<xsl:output-character character="◆" string=""/>
</xsl:character-map>
使用上面的xslt时,只会删除特殊字符,而不是不需要的spce。我想用空格删除字符。你能指导我们吗?
答案 0 :(得分:1)
尝试<xsl:template match="item/para/text()[1][matches(., '^[■◆]\s*')]"><xsl:value-of select="replace(., '^[■◆]\s*', '')"/></xsl:template>
只会删除text()
para
item
的{{1}}子项中的任何文字,如果它们以这两个字符中的一个开头,后跟可选项白色空间。如果要对其他文本节点具有相同的效果,可能需要调整match
模式,但关键是在正则表达式模式中使用^
来指示仅匹配字符串的开头