RXReplace函数提供'无效的转义序列:“\ B”。' #错误

问题描述 投票:1回答:1

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

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

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

是否有“\ B”的替代方法或缩写短语的不同方法(例如,“我的医院名称”>“MHN”)?

regex calculated-columns spotfire tibco
1个回答
2
投票

你可以用

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

regex demo

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

RXReplace documentation

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

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

© www.soinside.com 2019 - 2024. All rights reserved.