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