文字列から数値を抽出するやあ、
[]内に含まれる数値を全て抽出してリストに格納したいと考えています。 jslでこれを実現する方法はありますか?
列から数値を抽出してリストに保存したいのですが、次のようになります。
ビン = {"52","79","39 41 43", "38 40 42", "1"};
アドバイスがあれば大変助かります。

ありがとう
自動化とスクリプト作成消費者および市場調査Re: 文字列から数値を抽出するここでは別のアプローチを紹介します。 JMP には文字列、リスト、データ列を処理するための機能がたくさんあります。
Names Default to Here( 1 );'
// create sample
dt = New Table( "Sample",
New Column( "Values", "Character", "Nominal",
Values( { "", "", "[52]", "[79]", "[39 41 43]", "[38 40 42]", "", "", "", "[1]" } )
)
);
// use sample
val = :Values << Get Values;
// find
bins = List();
For( i = 1, i <= N Items( val ), i++,
If( val[i] != "",
Insert Into( bins,
Substitute( val[i],
"[", "",
"]", ""
);
);
);
);
Show( bins );Re: 文字列から数値を抽出するありがとうジム:)
Re: 文字列から数値を抽出するこれを行うには、いくつかの異なる方法があります。
次のコマンドを使用して、[値] 列の値をリストに取得できます。 <コラムへ。
そのリストから欠損値を削除する必要があります。 これは、次のコマンドを使用してデータ テーブル内の欠落している行を見つけることで簡単に実行できます。行を取得する場所() 。 そうしてから削除()関数はそれらの要素をリストから削除します。
次に、For Each() 関数と Word() 関数を使用して角括弧 (つまり、「[]」) を削除します。
dt = Data Table( "Sample.jmp" );
//locate the missing values
missings = dt << get rows where( Is Missing( :values ) );
//get a list of the Values column
lst = :Values << get values;
//Remove the missings from the list
Remove From( lst, As List( missings ) );
//strip the square brackets
For Each( {item, i}, lst, lst[i] = Word( 1, item, "[]" ) );
Word() 関数を使用して新しい数式列を追加して角括弧を取り除き、新しい列から値を取得することで、これらすべてをデータ テーブル内で行うこともできます。
dt=Data Table("Sample.jmp");
new_col = dt << New Column( "New Values", Character,
formula( Word( 1, :Values, "[]" ) )
);
lst = (new_col << get values)[dt <<
get rows where( !Is Missing( :New Values ) )];
Word() 関数が私のお気に入りです。数式エディター関数を 1 つだけ学習する場合は、Word() がその関数です。
Re: 文字列から数値を抽出する以下は、サンプル データ テーブルを読み取り、値を含むリストを生成する簡単な例です。
x = {"52", "79", "39", "41", "43", "38", "40", "42", "1"};
Names Default To Here( 1 );
dt = current data table();
x = {};
For Each Row(
If( :values != "",
y = Eval( Parse( :values ) );
For Each( {value}, y, Insert Into( x, Char( value ) ) );
)
);
Show( x );