关于正确功能的问题尝试在我的 jsl 代码中使用如下所示的 Right 函数
dt << New Column("ORIG_MARK",Character,Nominal,Formula(Right(:result,(Contains(:result,"_",3)))));
该语句的结果如下,但我打算从 ORIG_MARK 列中的每一行中删除“_”。如何修改上述语句来完成此操作?
| 结果 | ORIG_MARK |
| ORIG_MARK_A | _一种 |
| ORIG_MARK_B | _B |
| ORIG_MARK_C | _C |
| ORIG_MARK_D | _D |
| ORIG_MARK_E | _E |
脚本回复:关于正确功能的问题Right(str, n) 将返回 str 的右 n 个字符。 Contains(str, pattern, n) 将返回 str 中从 n 开始的第一个模式索引。 如果您想在最后一个“_”之后获取字符串,我会使用 Word() 或 Substitute() 删除“ORIG_MARK_”。 如果你想使用 Right(),你必须计算你想要得到的字符串的长度,例如通过使用 Length() 和 Contains() 的组合。
这是使用 Word() 的一个选项:
Word(-1, :result, "_")
有关示例,请参阅脚本索引。