Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
xslt字符串替换为后面的子字符串_Xslt_Bi Publisher - Fatal编程技术网

xslt字符串替换为后面的子字符串

xslt字符串替换为后面的子字符串,xslt,bi-publisher,Xslt,Bi Publisher,我需要修改如下字段: RieglerhÃtte | 27 | 22 | ~~~至RieglerhÃtte 27/22 删除所有~,替换所有|到/(第一次出现的|到“”空格除外) 我尝试将translate函数用作: <?substring-before(ADDRESS,‘|‘)?> <?translate(translate(substring-after(ADDRESS,‘|‘),‘~|‘,‘/‘),‘|‘,‘/‘)?> 它工作正常,但在第一次出现|:Riegler

我需要修改如下字段:

RieglerhÃtte | 27 | 22 | ~~~
RieglerhÃtte 27/22

删除所有~,替换所有|到/(第一次出现的|到“”空格除外)

我尝试将translate函数用作:

<?substring-before(ADDRESS,‘|‘)?> 
<?translate(translate(substring-after(ADDRESS,‘|‘),‘~|‘,‘/‘),‘|‘,‘/‘)?>
它工作正常,但在第一次出现|:
RieglerhÃtte/27
后没有空间。 我尝试过使用substring替换,但它在BIP中给出了错误。(xdofx和xdoxslt不能一起使用)


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

我认为你非常接近。假设
~
是您的“空白”字符,
|
分隔字段,您不想显示空白字段

试试这个:

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


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

注意,从您的解释中(“删除全部”,替换“全部到”/(除了第一次出现“到”空间)。“”该代码> RielLeh(27)22→~(<)/代码>将转换为<代码> RielLeh h tTe2//< <代码> >
<?substring-before(ADDRESS,‘|‘)?> 
<?translate(translate(substring-after(ADDRESS,‘|‘),‘|~‘,‘‘),‘|‘,‘/‘)?>