【发布时间】:2018-01-15 21:59:19
【问题描述】:
我想使用 XSLT 和正则表达式从 XML 中的节点值中查找和删除字符串:
<result>
<item>
<variantname>Apple 90 430 29 S</variantname>
</item>
<item>
<variantname>Apple 90 480 29 M</variantname>
</item>
<item>
<variantname>Carrot 60 420 27 M</variantname>
</item>
<item>
<variantname>Carrot 60 440 27 S</variantname>
</item>
</result>
我想从上面的 XML 中删除 430 和 480,即 'Apple 90' 和 '29' 之间的字符串。
输出应如下所示:
<result>
<item>
<variantname>Apple 90 29 S</variantname>
</item>
<item>
<variantname>Apple 90 29 M</variantname>
</item>
<item>
<variantname>Carrot 60 27 M</variantname>
</item>
<item>
<variantname>Carrot 60 27 S</variantname>
</item>
</result>
编辑:
我只是在想以某种方式可以将“可替换”字符串作为变量传递?
removestarpartfromthis = "'苹果 90 * 29','胡萝卜 60 * 27'"
【问题讨论】:
-
那么
Apple的输出variantnames 中的27s 是从哪里来的?你想在星号之前和之后允许什么变化,真的是Apple 90和Carrot 60吗? -
@MartinHonnen 这是一个很大的错字,我在迈克尔凯的解决方案下用我的小想法更新了问题+评论。我希望现在更清楚了。