Talend tMap if 数学符号作为字符串的条件

Talend tMap if condition for mathematical symbol as string

我在 table 中有一列,有些值在末尾有反斜杠 /。我想删除这些斜杠值并保留其余文本。假设我有一个文本 "myjunkdata/",它应该会返回给我 "myjunkdata"。但是以下条件不起作用。

(StringHandling.RIGHT(row1.CertificateName,1) == "/") ? StringHandling.LEFT(row1.CertificateName,StringHandling.LEN(row1.CertificateName)-1) : row1.CertificateName

下面的示例数据

Certified SOA Security Specialist/
Information Security Management Principles Foundation Certificate/
Check Point Certified Security Administrator  R77/
Check Point Certified Security Expert  R77/
Check Point Managed Security Expert/
Cisco Certified Network Associate Security
Cisco Certified Network Professional Security
Cisco Certified Internetwork Expert Security
Cisco Certified Network Professional Security

有人能帮忙吗?

不要比较 String==

StringHandling.RIGHT(row1.CertificateName,1).equals("/")

但是你可以用同样的条件:

row1.CertificateName.endsWith("/")

当然,正则表达式始终是解决此问题的简单方法

row1.CertificateName.replaceAll("/$")

正则表达式 /$ 基本上意味着以 / 结尾,因此如果该字符存在,它将删除该字符。