如何查找並替換給定列中指定字符的所有實例這是一個非常簡單的問題。我在 JMP 表中有一個給定的列,並且我需要一個 JMP 腳本命令來查找並替換該列中指定字符的所有實例。例如,我有一個名為 GROUP 的列,GROUP 中的某些行包含諸如“A05 或”B17 之類的值,我想替換 GROUP 中的所有“字符,以便條目變為 A05 和 B17,而不是“A05 和”B17。這可以很容易地手動完成,方法是轉到“表”-“搜索”-“查找”,然後進行查找和替換,但是有沒有一種簡單的方法來編寫腳本呢?
回复:如何查找和替換給定列中指定字符的所有實例要刪除行上的引號循環並使用替換函數。
dt = New Table( "Test Quote Removal", Add Rows( 4 ),
New Column( "Group", Character, "Nominal",
Set Values( {"A05", "\!"A06", "\!"A07", "A08"} )
)
);
for (i = 1, i <= nrows(dt), i++,
dt:group[i] = substitute(dt:group[i], "\!"", "");
);回复:如何查找和替換給定列中指定字符的所有實例這是一個簡單的 JSL 片段,可以處理您的 A05 問題
Names Default To Here( 1 );
dt = Current Data Table();
foundRows = dt:yourColumn << get rows where( Contains( :yourColumn, "A05" ) );
If( N Rows( foundRows ) > 0,
:yourColumn[foundRows] = "A05"
);
回复:如何查找和替換給定列中指定字符的所有實例謝謝你的回复。也許我錯了,但我認為 Recode 可以用來用不同的值替換整個已知值。但就我而言,更具體地說,GROUP 的值可以類似於“A05”或“B17”或“***”形式的任何內容,我所知道的是該值以“字符開頭,然後是* 字符是通配符,可以是任何內容。實際上,我想做的只是從值中刪除“。
回复:如何查找和替換給定列中指定字符的所有實例您可以使用 Recode 在 jmp 表中進行替換。 在提交之前,您可以獲取腳本以供將來使用。

dt = Current Data Table();
dt << Begin Data Update;
dt << Recode Column(
dt:GROUP,
{Map Value( _rcOrig, {"\!"A05", "A05", "\!"B17", "B17"}, Unmatched( _rcNow ) )},
Target Column( :GROUP )
);
dt << End Data Update;