可変長の文字列の終わりを削除するこんにちは皆さん、
Character、Nominalの形式の可変長の文字列を含む列:Protocolがあります。 以下にいくつかの例を追加しました。 文字列の最後の4文字を列から削除し、それ以外はすべて保持しようとしています。 最後の4文字は、常に-001、-002、-003、または-004のいずれかです。 Word()とSubstr()を使用してこれを達成しようとしましたが、機能させることができません。
プロトコル
AAA-BB-1234-19 -001
AAAA-B-18 -002
AA-BBB-123-18- 003
AA-B-CC-1001-19- 002
これは、これらの4行の列をどのように表示するかを示しています。
プロトコル
AAA-BB-1234-19
AAAA-B-18
AA-BBB-123-18
AA-B-CC-1001-19
私は次のようにWord()関数を使用してこれを達成しようとしました:
For Each Row(
:Protocol = Word(1, :Protocol, "00")
);
スクリプティングRe:可変長の文字列の終わりを削除するLeft(:Protocol、Length(:Protocol)-4)のようなものRe:可変長の文字列の終わりを削除する私は同意します@David_Burnham 、leftを直接使用して結果を得ることができます。本当に単語を使用したい場合は、以下のこれを参照できます(添付のデータテーブルも添付しました)。
Names Default To Here( 1 );
Clear Log();
dt = Current Data Table();
new_col = dt << New Column( "Trimmed Protocol",
character,
formula( Word( [1 -2], :Protocol, "-" ) )
);
Re:可変長の文字列の終わりを削除する私もLeft()関数を使うことを考えました。 これが私の見解です:
Names Default to Here( 1 );
string = "AAA-BB-1234-19-001";
Left( string, Contains( string, "00") - 2 );
[ヘルプ]> [スクリプトインデックス]を選択し、[関数]> [文字]を選択することをお勧めします。 文字列を操作するための多くの組み込みサポートがあります。