ループ内でPat Matchを使用するこんにちは、
私は、入力文字列を受け取り、完全な文字列の中からキーワードを見つけ、そして省略形だけで新しい列を作成するようなプログラムを書くことを試みています。スクリプトは、単一列のすべての行にわたって反復する必要があります。私のコードはエラーを投げます、そして私はそれが私のループの構文であると信じますが、エラーがどこにあるのか理解することができないようです。これは私が持っているものです:
For Each Row(
:prodFam = If(
Pat Match(:prodGroup, "aleutian"),
"ALEUTIAN",
Pat Match(:prodGroup, "ari"),
"ARI",
Pat Match(:prodGroup, "blue"),
"BLUE RIDGE",
そしてループは続きます。どんな助けでも大歓迎です、ありがとう!
再:ループ内でPat Matchを使うあなたが言うように、Contains関数は数値(アイテムが含まれている位置)を返します。ただし、値をブール値として扱うことができます。0= false、それ以外の場合はtrueなので、Contains関数をブール値として扱うコードを書くことができます。
(含む(...)、
//何かをする
)
再:ループ内でPat Matchを使うあなたにはブール値の応答が必要です。 ()の場合機能する機能。その方法は含む() 私はすでに説明したように解釈されます。
再:ループ内でPat Matchを使うContains()関数を使用する際の問題は、trueまたはfalseのブール値が本当に必要なときに数値を返すことです。私はそれが返す値を使って部分文字列をインデックス化することができると思いますが、結局、それはpat matchを使ってできることのためのより多くのコード行のように思えますね。返信いただきありがとうございます!
再:ループ内でPat Matchを使うまず、このコードが大きなスクリプトの一部ではない場合は、列式として入力できます。内の引数各行について() 関数は列の式と同じです。
第二に、文字列パターンは非常に便利ですが、私はあなたが使用できると思います含む(テスト文字列、ターゲット文字列) この場合は、パターンではなくリテラル文字列(単語)を探しています。含む() 見つからない場合は場所を返し、見つからない場合はゼロを返します。JMPはゼロをfalse、ゼロ以外をtrueと解釈します。 ()の場合関数はそのままです。
再:ループ内でPat Matchを使うそのため、一度カラムへの参照を作成すると、それがカラム名であることを示すためにコロンを使用する必要はなくなりました。しかし、私のスクリプトはテーブルに略語を追加せずに実行されます。私はまだ何かが足りない?ありがとうございます。