テキストフィールドから数値を抽出する技術者が入力したテキストメモを含む列があります。 それらはシステムの使用時間を入力しますが、それを独自の列に抽出する必要があります。 幸い、データはかなり一貫しているので、Regex Match()を使用して情報を引き出すことができましたが、最後の値を選択するとつまずきます。
Regex Match( :diagnosis, "(ys.+sage: ?)(\d{1,5})\n" );テキストブロックからシステム使用時間を効果的に抽出するにはどうすればよいですか?
サンプルテキストは次のようになります。
UDI#123456789123456789123456789456123
デバイスを受け取りましたが、カバーがありません。
サービスの主な理由:xxxxxxxxxx
システム使用量:2372
システムPMの期限:7627
xxxの使用法:120
yyyの使用法:208
分析データ表Re:テキストフィールドから数値を抽出するデータに十分な一貫性がある場合は、Contains(およびLength)を含むSubstrを使用することで、正規表現なしでこれを行うことができます。
Names Default To Here(1);
text ="UDI# 123456789123456789123456789456123
Device received, missing cover.
Major Reason For Service: xxxxxxxxxx
System usage: 2372
System PM due in: 7627
xxx usage: 120
yyy usage: 208";
stringToSearch = "System usage: ";
sysUsage = num(Substr(text, Contains(text, stringToSearch) + length(stringToSearch), 4));
show(sysUsage);
Re:テキストフィールドから数値を抽出するこれは、JSL関数を使用してシステム使用状況を抽出するソリューションです。
Num( Word( 1, Substr( :Diagnosis, Contains( :Diagnosis, "System usage:" ) + 14 ), "\!n" ) )

上記のデータ表を添付しました