從字符串中提取數字你好,
我想提取 [] 中包含的所有數字並將其存儲在列表中。 有沒有辦法用jsl來實現這一點?
我想從列中提取數字並將其存儲在列表中,該列表應如下所示:
箱= {“52”,“79”,“39 41 43”,“38 40 42”,“1”};
任何建議都會很有幫助。

謝謝
自動化和腳本編寫消費者和市場研究回复:從字符串中提取數字這是另一種方法。 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 );回复:從字符串中提取數字謝謝吉姆:)
回复:從字符串中提取數字有幾種不同的方法可以做到這一點。
您可以使用以下命令將“值”列的值放入列表中: <<獲取值()消息到專欄。
您需要刪除該列表中缺失的值。 通過使用以下命令查找數據表中丟失的行,可以很容易地做到這一點獲取行Where() 。 然後從......中去除()函數將從列表中刪除這些元素。
然後使用 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() 函數是我最喜歡的:如果您只學習一種公式編輯器函數,Word() 就是其中之一
回复:從字符串中提取數字這是一個簡單的示例,它讀取示例數據表並生成包含值的列表
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 );