RXReplace 函数给出 'Invalid escape sequence: "\B".' #Error

RXReplace Function Gives 'Invalid escape sequence: "\B".' #Error

我正在使用 TIBCO Spotfire Analyst 7.8.0 HF-007 并尝试添加计算列以使用 RXReplace 函数中的正则表达式为字符串创建缩写。但是,我收到一条错误消息,指出“无效的转义序列:“\B”。”这似乎无法识别非单词边界。

函数识别单词边界“\b”。我搜索了 not word boundary ("\B") 表达式的替代方法,但没有找到。

函数调用如下所示:RXReplace([Hospital_Name],"\B[a-zA-Z'-]+","","g")

是否有“\B”的替代方法或缩写词组的不同方法(例如,"MY HOSPITAL'S NAME" > "MHN")?

您可以使用

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

参见regex demo

反斜杠应该加倍(要定义一个反斜杠 \ 必须写在字符串文字中)并删除任何其他非单词字符,您需要在正则表达式中使用 \W+ 替代项。

参见RXReplace documentation

Some characters, like for instance the backslash character "\", need to be escaped to work when using calculated columns.

The backslash needs to be escaped twice; once for the Spotfire string and once for the regular expression.