Функция RXReplace Дает 'Недопустимая escape-последовательность: "\ B".' #Ошибка - PullRequest
1 голос
/ 29 марта 2019

Я использую TIBCO Spotfire Analyst 7.8.0 HF-007 и пытаюсь добавить вычисляемый столбец для создания сокращений для строки, используя регулярное выражение в функции RXReplace.Тем не менее я получаю сообщение об ошибке " Неверная escape-последовательность:" \ B "."который, кажется, не распознает границу не слова.

Функция распознает границу слова "\ b".Я искал альтернативу выражению, не являющемуся границей слова ("\ B"), но не нашел его.

Вызов функции выглядит следующим образом: RXReplace([Hospital_Name],"\B[a-zA-Z'-]+","","g")

Есть лиальтернатива "\ B" или иной подход к сокращению фразы (например, "ИМЯ МОЕЙ БОЛЬНИЦЫ"> "MHN")?

1 Ответ

2 голосов
/ 29 марта 2019

Вы можете использовать

RXReplace([Hospital_Name], "\\B[a-zA-Z'-]+|\\W+", "", "g")

См. Демонстрационную версию regex .

Обратный слеш должен быть удвоен (для определения одного обратного слеша \\ должен быть записан внутристроковый литерал) и для удаления любых других несимвольных символов вам понадобится альтернатива \W+ в вашем регулярном выражении.

См. Документацию RXReplace :

Некоторые символы, такие как, например, символ обратной косой черты "\", необходимо экранировать для работы при использовании вычисленныхстолбцы.

и

Обратная косая черта должна быть экранирована дважды;один раз для строки Spotfire и один раз для регулярного выражения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...