你好,
我想计算字母在文本中的位置并显示为数字。 我只有X作为字母,并且希望数字在不同的列中。 空格也应计算在内。
文本:
XX X X
输出:
12 4 9
我怎样才能做到这一点?
感谢您的回复
你好
使用此脚本作为公式列可以完成以下任务:
X_pos = {};
For( i = 1, i <= Length( :text ), i++,
If( Substr( :text, i, 1 ) == "X",
X_pos[i] = Char( i ),
X_pos[i] = " "
)
);
Concat Items( X_pos );感谢您的解决方案。 我还没有使用JMP脚本。 有没有简单的方法可以将此添加到表的脚本中? 还是在公式编辑器中构建相同的表达式?
您应该能够创建新列并复制并粘贴@HadleyMyers直接到公式编辑器的解决方案(如果需要,可使用Contains Item()修复程序):

编辑:这期望列被命名为“文本”
你好
如@jthi回答,您可以将上面的脚本复制并粘贴到公式编辑器中。我已将其包含在下表中的公式列中(复制此脚本并将其粘贴到“新脚本”窗口中以重新创建表),并将该表也保存到这篇文章中。
New Table( "Show position of letter example table",
Add Rows( 1 ),
New Column( "text",
Character,
"Nominal",
Set Values( {"XX X X"} ),
Set Display Width( 87 )
),
New Column( "Output",
Character,
"Nominal",
Formula(
X_pos = {};
For( i = 1, i <= Length( :text ), i++,
If( Substr( :text, i, 1 ) == "X",
X_pos[i] = Char( i ),
X_pos[i] = " "
)
);
Concat Items( X_pos, "" );
),
Set Selected,
Set Display Width( 107 )
)
)