数値ではなく文字値に基づいて列テキストを抽出する方法は?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />JMP コミュニティの皆様、こんにちは。
次のような [説明] というタイトルの列にテキストがあります。
説明 列
行 1: ソフトウェアの問題: システム ソフトウェア。応答なし
行 2: ソフトウェアの問題: システム ソフトウェア。応答なし
行 3: 電子機器の問題: 電源。応答 1
行 4: コンピューターとユーザー インターフェイスの問題: システム ソフトウェア。応答 2
では、この列のテキストを句読点に基づいて分割します。したがって、新しい列では、コロン「:」の前に表示されるテキストが必要であり、別の列では、セミコロンとコロン「:」と「;」の間のテキストが必要です。
だから私は取得する必要があります:
説明 列 B 列 C 列
行 1: ソフトウェアの問題: システム ソフトウェア。応答なし ソフトウェアの問題 システム ソフトウェア
これらの新しい列を作成し、Left/Right の文字関数を使用しようとした数式を適用しました (説明列をテキスト フィールドと呼びます)。ただし、すべての文字関数は長さを数値に基づいています。Left/Right Character 関数を使用して言うにはどうすればよいですか
"右(説明 列、「:」)」「:」の前にすべてのテキストを取得するように??
ご協力いただきありがとうございます、
-サラ
Re: 数値ではなく文字値に基づいて列テキストを抽出する方法は?ありがとうございました! どちらのバージョンも、私が探していたものを正確に実行しました
Re: 数値ではなく文字値に基づいて列テキストを抽出する方法は?ここでの別のアプローチは、Word() 関数を使用することです。
列 B の式:
Word( 1, :説明欄, ":;" )
列 C の式:
Trim( Word( 2, :説明列, ":;" ) )
Re: 数値ではなく文字値に基づいて列テキストを抽出する方法は?これはあなたが必要とすることをします。秘訣は、contains と substr を使用して、必要な部分文字列を正確に取得することです。
dt =新しいテーブル( "問題" 、
行を追加( 4 ) 、
新しい列( "説明" 、
キャラクター、
公称、
設定値(
{ 「ソフトウェアの問題: システム ソフトウェア; 応答なし」 、
「ソフトウェアの問題: システム ソフトウェア; 応答なし」 、
「電子機器の問題: 電源; 応答 1」 、
「コンピューターとユーザー インターフェイスの問題: システム ソフトウェア; 応答 2」 }
)
)
) ;
dt <<新しい列( 「B列」 、キャラクター、公称、
方式(
コロン_位置=含む( :説明、 ":" ) ;
サブストリング( :説明、 1 、コロン_位置- 1 ) ;
)
) ;
dt <<新しい列( 「C列」 、キャラクター、公称、
方式(
コロン_位置=含む( :説明、 ":" ) ;
semi_pos =含む( :説明、 ";" ) ;
サブストリング( :説明、コロン_位置+ 2 、 semi_pos -コロン_位置- 2 ) ;
)
) ;