如何查找并替换给定列中指定字符的所有实例这是一个非常简单的问题。我在 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;