Words関数を使用して文字列から特定の要素のみを抽出する方法bal1_bla2_blbla3_blabla4という形式の共通区切り文字を持つ文字列があるとします。
また、「blbla3_blabla4」のみを含む新しい列を作成したいのですが、そのために単語機能をどのように適用すればよいでしょうか?
基本的なデータ分析とモデリングRe: Words 関数を使用して文字列から特定の要素のみを抽出する方法こんにちは、
UI における 1 つの解決策は、Recode を使用して目的を達成することです。
列ヘッダーを右クリック -> 再コード化 -> 新しい値の下の赤い三角形を右クリック -> 詳細設定 -> セグメントを抽出

ログ内に JSL コードがあり、word function が使用されています。
/*:
// Recode column: Column 1 2
Local( {dt, col1},
dt = Data Table( "Test table" );
dt << Begin Data Update;
col1 = dt << New Column( dt:Column 1 );
col1 << Set Name( "Column 1 2" );
dt << Move Selected Columns( {col1}, after( dt:Column 1 ) );
For Each Row(
dt,
col1[] = Word(
[3 4],
dt:Column 1,
Get Whitespace Characters() ||
Get Punctuation Characters( Exclude Chars( "'-" ) ) || "_",
Unmatched( dt:Column 1 )
)
);
dt << End Data Update;
これが役に立つことを願っています。
ジョナス
Re: Words 関数を使用して文字列から特定の要素のみを抽出する方法最後の2つの要素が必要な場合は、負のインデックス(文字列の先頭からの正確な位置がわかっている場合は正のインデックス)でWordを使用できます。
Names Default To Here(1);
str = "bal1_bla2_blbla3_blabla4";
res = Word([-2 -1], str, "_");
Show(res); // res = "blbla3_blabla4";