語言無關的文本到“列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 );