Pentaho Spoon:JavaScript split 只是将一个元素放入数组中

Pentaho Spoon: JavaScript split is only putting one element in array

我在 Pentaho Spoon 中有以下格式的字符串:

"0.31;0.45"

现在我想把它们分成 Javascript

var str = "0.31;0.45"
var res1 = str.split(";");

然而,这个returns一个数组,其中只有第一个元素被填充为

res1[0] = "0.310.45"

虽然我很期待这个:

res1[0] = "0.31"
res1[1] = "0.45"

我做错了什么?我一直在寻找很长一段时间,但没有发现任何解决方案。

字符串之前已经过清理,因为它是从 excel sheet 导入的,其中在不同值之间添加了输入:

str = strold.replace(new RegExp("\n", "gi"), ";");

excelsheet数据的片段可以在这里找到(由于数据的敏感性,不能透露完整的记录):

Exceldata

任何正确轨道上的指针将不胜感激:)

谢谢!

罗布

如果您想在修改后的 JavaScript 步骤中执行此操作,这应该是正确的:

在 Excel- 输入值为“0.31;0.45”(作为字符串)的字段 test1 之后,您的 JS 代码应如下所示:

var str = test1;
var split = str.split(";");
var res1 = split[0];
var res2 = split[1];

新字段 res1res2 现在显示拆分后的值。我认为你的问题是这里缺少第二个变量,比如我上面的代码中的 split,也许是特定于水壶的东西......

作为无需 JavaScript 步解决此问题的第二种可能方法,请使用 Split-Fields 步: Excel 输入后设置步骤 Split-Fields。这里将字段设置为拆分(在我的测试场景test1),设置分隔符(;)并定义两个新字段。

希望有用!