Проблемы с функцией замены в XSL - PullRequest
0 голосов
/ 22 января 2019

У меня есть строка, которая содержит все типы специальных символов, таких как точка запятая # () - пробел / \, и я использовал функцию замены ниже и получаю несколько ошибок. Я использовал двойные кавычки для запятой '', '' это правильно сделать? Также проблема с #

Пример строки

#12/24 Dominic-Road,Villa(12)

Это необходимо заменить как

1224DominicRoadVilla12

Это мое выражение:

select="replace(replace(replace(replace(replace(replace($string1, '\)', ''), '\(', ''), '\.', ''), '\-', ''), ' ', ''), '#', ''),'','','')"

Но я получил ошибки:

Последовательность из более чем одного элемента не допускается в качестве первого аргумента функции replace ()

Что я сделал не так?

1 Ответ

0 голосов
/ 22 января 2019

Вы можете упростить свое выражение.
Замените ваш xsl:value на

<xsl:value-of select="replace($string1, '[#\-,/() .]+', '')" />

Это удалит упомянутые специальные символы.Если вам нужно исключить больше специальных символов, добавьте их ко второму параметру.

...