將字母的位置顯示為數字你好,
我想計算一個字母在文本中的位置並顯示為一個數字。 我只有 X 作為字母,並且希望數字位於不同的列中。 空格也應該計算在內。
文本:
×××
輸出:
12 4 9
我怎樣才能做到這一點?
感謝您的回复
數據表腳本回复:將字母的位置顯示為數字非常感謝,兩種解決方案都運行良好。
回复:將字母的位置顯示為數字你好,
作為@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 )
)
)回复:將字母的位置顯示為數字您應該能夠創建新列並複制和粘貼@哈德利邁爾斯直接到公式編輯器的解決方案(如果需要,使用 Contains Item() 修復):

編輯:這期望列被命名為“文本”
回复:將字母的位置顯示為數字感謝您提供此解決方案。 我還沒有使用過 JMP 腳本。 有沒有一種簡單的方法可以將它添加到我的表的腳本中? 或者在公式編輯器中構建相同的表達式?
回复:將字母的位置顯示為數字對我來說,當沒有給出第二個參數時,Concat Items() 似乎會增加額外的空間,因此您可能不得不使用 Concat Items( X_pos , "")回复:將字母的位置顯示為數字你好,
使用此腳本作為公式列應該可以完成這項工作:
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 );