我正在使用TIBCO Spotfire Analyst 7.8.0 HF-007并尝试添加计算列以使用RXReplace函数中的正则表达式为字符串创建缩写。但是,我收到一条错误,指出“无效的转义序列:”\ B“。”这似乎不承认不是字边界。
该函数确实识别单词边界“\ b”。我已经搜索了非字边界(“\ B”)表达式的替代方法,但没有找到一个。
函数调用如下:RXReplace([Hospital_Name],"\B[a-zA-Z'-]+","","g")
是否有“\ B”的替代方法或缩写短语的不同方法(例如,“我的医院名称”>“MHN”)?
你可以用
RXReplace([Hospital_Name], "\\B[a-zA-Z'-]+|\\W+", "", "g")
反斜杠应该加倍(要定义一个反斜杠\\
必须写在字符串文字内)并删除任何其他非单词字符,你需要在正则表达式中使用\W+
替代。
某些字符,例如反斜杠字符
"\"
,在使用计算列时需要转义才能工作。
和
反斜杠需要两次转义;一次用于Spotfire字符串,一次用于正则表达式。