gpt4 book ai didi

xslt - 如何查找带连字符的单词?

转载 作者:行者123 更新时间:2023-12-02 05:40:38 25 4
gpt4 key购买 nike

是否可以找到用连字符分隔的单词并用一些标记将它们包围起来?

输入

<root>
text text text-with-hyphen text text
</root>

要求的输出

<outroot>
text text <sometag>text-with-hyphen</sometag> text text
</outroot>

最佳答案

这个 XSLT 2.0 转换:

<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>

<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>

<xsl:template match="root/text()">
<xsl:analyze-string select="." regex="([^ ]*\-[^ ]*)+">
<xsl:matching-substring>
<sometag><xsl:value-of select="."/></sometag>
</xsl:matching-substring>
<xsl:non-matching-substring>
<xsl:value-of select="."/>
</xsl:non-matching-substring>
</xsl:analyze-string>
</xsl:template>
</xsl:stylesheet>

应用于提供的 XML 文档时:

<root>
text text text-with-hyphen text text
</root>

产生想要的、正确的结果:

<root>
text text <sometag>text-with-hyphen</sometag> text text
</root>

解释:

正确使用 XSLT 2.0 <xsl:analyze-string> 指令及其允许的子指令。

关于xslt - 如何查找带连字符的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11015459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com