xslt字符串后替换子字符串

问题描述 投票:0回答:1

我需要修改一个字段,如:

[<ADDRESS>RieglerhÃtte|27|22|~|~</ADDRESS>RieglerhÃtte 27/22

全部删除〜,全部替换|到/(第一次出现|到''空间)。

我尝试将翻译功能用作:

<?substring-before(ADDRESS,‘|‘)?> 
<?translate(translate(substring-after(ADDRESS,‘|‘),‘~|‘,‘/‘),‘|‘,‘/‘)?>

其结果为:RieglerhÃtte 27///

也尝试使用replace:

<?xdofx:replace(replace(replace(ADDRESS,'~|',''),'|~',''),'|','/')?>

可以正常工作,但是第一次出现|后就没有空格了。 :RieglerhÃtte/27。我尝试将substring-before与replace一起使用,但在BIP中给出了错误。 (xdofx和xdoxslt不能一起使用)。

我正在尝试获得类似RieglerhÃtte 27RieglerhÃtte 27/11/22/33的输出(输入为-RieglerhÃtte|27|11|22|33)。

xslt bi-publisher
1个回答
0
投票

我认为您非常亲密。假设~是您的“空白”字符,|会分隔字段,并且您不想显示空白字段...

尝试一下:

<?substring-before(ADDRESS,‘|‘)?> 
<?translate(translate(substring-after(ADDRESS,‘|‘),‘|~‘,‘‘),‘|‘,‘/‘)?>

首先删除空白值,然后将管道分隔符更改为正斜杠。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.