如何从字符串中替换所有单个字符?

时间:2012-01-30 20:45:01

标签: xslt-2.0

<title>
<article_title>Land a b   c   d      Band a /article_title></article_title>
</title>

<xsl:value-of select='replace(article_title,"(\s+.\s+)"," ")'/>

我期待着乐队,但我正在获得乐队的土地。 有人可以更正替换功能吗?

1 个答案:

答案 0 :(得分:1)

使用

replace(article_title, '(^[^ ]+)(.+\s+)([^ ]+)$', '$1 $3')

这是一个完整的转型

 <xsl:template match="/*">
  <xsl:value-of select=
  "replace(article_title, '(^[^ ]+)(.+\s+)([^ ]+)$', '$1 $3')"/>
 </xsl:template>
</xsl:stylesheet>

在提供的XML文档上应用此转换时

<title>
    <article_title>Land a b   c   d      Band</article_title>
</title>

产生了想要的正确结果

Land Band