RXReplace函数给出“无效的转义序列:“ \ B”。 #Error

时间:2019-03-29 10:54:09

标签: regex calculated-columns spotfire tibco

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

函数可以识别单词边界“ \ b”。我已经搜索了非单词边界(“ \ B”)表达式的替代方法,但没有找到。

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

是否可以使用“ \ B”替代方式或缩写词组(例如“我的医院名称”>“ MHN”)?

1 个答案:

答案 0 :(得分:2)

您可以使用

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

请参见regex demo

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

请参见RXReplace documentation

  

使用计算列时,某些字符(例如反斜杠字符"\")需要转义才能工作。

  

反斜杠需要转义两次;一次用于Spotfire字符串,一次用于正则表达式。