Where(Contains()) の使用法を選択してくださいSelect Where() 関数内の Contains() 関数が便利であることがよくあります。 指定された列の後に数字が続く文字列「a」が含まれるすべての行を選択したい場合はどうすればよいでしょうか? たとえば、値「a」、「a12」、および「absent」を含む列では、「a12」を含む行のみが選択されます。 ヒントをありがとう!
Re: Select Where(Contains()) の使用法素晴らしいクリーンなソリューション、マーク。これらの正規表現はきっと気に入っていただけるはずです。なぜ :Text の後に [] があるのか不思議です。なくても動作するようです。
ところで、これも機能します:
dt << Select Where(
Regex( :Text, "a\d+" ) == :Text
);
Re: Select Where(Contains()) の使用法別のオプション:
Names Default to Here( 1 );
dt = New Table( "Select by Criterion",
New Column( "Text", Character, Values( { "a", "a12", "absent" } ) )
);
dt << Select Where(
Not( Is Missing( Regex( :Text[], "a\d+" ) ) )
);Re: Select Where(Contains()) の使用法これは、数字が文字「a」の最初の出現の後にのみある場合に機能します。
dt << select where(contains(:name,"a") &
IsMissing(num(substr(:name,contains(:name,"a")+1,1)))==0);