Agreed!
And more broadly, it would be great to easily apply a character function to a list of strings, the same way you can apply a numeric function to a list of numbers. The authors of the JSL companion suggested something similar, even wrote some utility functions to achieve this.
https://community.jmp.com/t5/Discussions/Compare-lists-but-partial-strings/m-p/56731/highlight/true#M31832
Many users often want to create a variable column list and use that to pass into another function. For example something like this:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
cols = dt << Get Column Names( );
pnp_cols = {};
For (i = 1, i <= N Items(cols), i++,
If ( Contains( cols[i], "PNP" ),
Insert Into(pnp_cols, cols[i])
);
);
obj = dt << Process Screening(
Process Variables( Eval(pnp_cols) ),
Select All,
Show Charts as Selected,
Control Chart Builder
);
It would make logical sense for the Get Column Names () function to allow to specify a string matching criteria so as to not need to create the for loop. The syntax might look something like this:
pnp_cols = dt << Get Column Names( Continuous, "PNP");