你好,
我希望計算字母在文本中的位置並顯示為數字。 我只有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 )
)
)