我在xslt 2.0中寻找这个解决方案:
输入:+47(12)1234567
输出:+47121234567
我试着用这个:
replace(replace('$Input', '(',''), ')','')
但它会抛出一个错误,因为'('和')'无法使用上面的代码进行转义。
请有人指出正确的解决方案。
谢谢。
括号是regex中的保留字符,这是replace函数作为参数。
最简单的解决方案是使用translate()
,在这种情况下:
<xsl:value-of select="translate('+47(12)1234567', '()', '')"/>
或者,您可以使用反斜杠转义括号。
我会把两个字符放在一个replace
调用replace($input, '[()]', '')
的方括号中。
使用此:<xsl:value-of select="replace($input, '\(|\)','')"/>