「単語」式についての質問、1文字を分割してキー短縮単語を取得する目的名前は「バッチ ID」、1 つのスクリプトを使用して 1 つの列を生成したい、名前は「ショート ID」、式は Word(2, :バッチ ID、「L22DD1」) を使用し、必要なだけ2 番目の単語を取得するには、たとえば E3 L22DD1 K27--->K27 ですが、JSL を実行した後、結果が K27 ではなく K2 になったのはなぜですか?うまくいかない場合、他の解決策があるかどうかを提案してください。
| バッチID | 短縮ID |
| M3L22DD1K2 | K2 |
| E3L22DD1K45 | K45 |
| M3L22DD1K41 | K4 |
| E3L22DD1K27 | K27 |
| M3L22DD1K3 | K3 |
| M3L22DD1K42 | K42 |
| M3L22DD1K43 | K43 |
| M3L22DD1K44 | K44 |
| M3L22DD1K45 | K45 |
| M3L22DD1K4 | K4 |
| M3L22DD1K5 | K5 |
| M3L22DD1K6 | K6 |
| E3L22DD1K46 | K46 |
| E3L22DD1K47 | K47 |
| E3L22DD1K48 | K48 |
| E3L22DD1K49 | K49 |
| E3L22DD1K50 | K50 |
| E3L22DD1K51 | K51 |
| E3L22DD1K52 | K52 |
スクリプティングRe: "単語" 式についての質問、1 文字を分割してキー短縮単語を取得する目的ブレーク文字列が何であるかを知っている場合、つまりL22DD1 の場合、次の 2 つの割り当てステートメントで 2 つの部分を識別して分離できます
ショート ID の場合
Substr( :Batch ID, Contains( :Batch ID, "L22DD1" ) + 6 )
バッチ ID の最初の部分について
Substr( :Batch ID, 1, Contains( :Batch ID, "L22DD1" ) + 5 )
Re: "単語" 式についての質問、1 文字を分割してキー短縮単語を取得する目的助けてくれてとても感謝しています。今ではうまく機能し、「単語」の機能についても理解しています。
Re: "単語" 式についての質問、1 文字を分割してキー短縮単語を取得する目的やあ、
文字列を区切り文字として使用する際の問題は、関数 Word() がそれを一意の文字列としてではなく、個々の区切り文字の集合として理解することです。 したがって、M3L22DD1K41 が K4 を生成する例では、区切り文字の数字「1」は文字列「L22DD1」にあります。
これを解決する 1 つの方法は、次のように Word 関数内で Substitute 関数を使用することです。
単語 (2、置換 (:BATCH_ID、"L22DD1"、"-")、"-")
このようにして、「L22DD1」のすべての出現が式内で「-」に置き換えられ、「-」区切り文字に基づいて目的の単語が抽出されます
それが役に立てば幸い。
一番
TSRe: "単語" 式についての質問、1 文字を分割してキー短縮単語を取得する目的ありがとうございます。名前が同じ規則に従っていればうまくいきます。
ただし、1 つの行の内容が予期しないものとして変更された場合、たとえば「M3 L22DD1 X10_I35_O55」、私が欲しいのは短い名前「X10_I35_O55」ですが、より良い解決策があります。
それから使い続ける " L22DD1"別単語を 2 つの部分に分割し、最後の部分を取得します。M3 L22DD1 X10_I35_O55-->X10_I35_O55?
Re: "単語" 式についての質問、1 文字を分割してキー短縮単語を取得する目的ショート ID 列の作成に使用する式は次のとおりです。
New Column( "Short ID", character, formula( "K" || Word( -1, :Batch ID, "K" ) ) );