文字の位置を数字で表示こんにちは、
テキスト内の文字の位置を数えて数字で表示したいのですが。 文字としてXしかなく、別の列に数字が必要です。 スペースもカウントする必要があります。
テキスト:
XX X X
出力:
12 4 9
これどうやってするの?
お返事をありがとうございます
データ表スクリプティングRe:文字の位置を数字で表示こんにちは、
このスクリプトを数式列として使用すると、次の作業が実行されます。
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 );Re:文字の位置を数字で表示私にとって、Concat Items()は、2番目の引数が指定されていない場合にスペースを追加するように見えるため、Concat Items(X_pos、 "")を使用する必要がある場合があります。Re:文字の位置を数字で表示この解決策をありがとう。 私はまだJMPスクリプトを使用していません。 これをテーブルのスクリプトに追加する簡単な方法はありますか? または、数式エディタで同じ式を作成しますか?
Re:文字の位置を数字で表示新しい列を作成し、コピーして貼り付けることができるはずです@HadleyMyers数式エディタへの直接の解決策(必要に応じてContains Item()修正を使用):

編集:これは、列に「テキスト」という名前が付けられていることを前提としています
Re:文字の位置を数字で表示こんにちは、
なので@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 )
)
)