语言无关的文本到“列NN”->“ NN”形式的数字转换我的一位用户抱怨我的加载项无法正常工作。它切断了100以下变量之一的所有数据。
故障排除后,我发现这是由于我将“列NN”转换为数字“ NN”的原因。源CSV文件没有列名,因此当我导入它时,JMP会指定默认名称。我的用户将语言设置为日语,因此它导入了将列命名为“列NN”的CSV文件,这打破了我对小于100的数字的公式(我只是采用了三个正确的符号,因此小于100的数字仍然作为数字输出) 。
在这种情况下,我可以很容易地解决它,但是,我想让它100%独立于语言,并且我不知道所有本地格式都可以导入无标头的CSV文件-我将如何转换“ CCCNNCCC”到“ NN”-其中“ CCC”-任意数量的字符和“ NN”任意数量的数字?一些RegExp魔术?
数据表脚本编写回复:独立于语言的文本到数字的转换,格式为“列NN”->“ NN”这是一个简单的功能,可以解决问题
getNumber = Function( {input},
{defaultlocal},
numStart = Length( Word( 2, z, "0123456789" ) );
number = "";
While( Is Missing( Num( Substr( z, numStart, 1 ) ) ) == 0,
number = number || Substr( z, numStart, 1 );
numStart++;
);
number = Num( number );
);
value = getNumber( "wd*()578pqxkkl" );
Show( value );