NI製品ディスカッション

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

配列の部分一致検索

解決済み
解決策を見る

asd sdf cdf

sdf cde dsf

scf ser swe

das ser pod

 

例えば上の配列があり、"asd"を見つけて、"asd"を含む行を削除する場合はわかるのですが、配列に"a"を含む行はすべて削除する場合、どのようにすればようのですか?

 

上の配列の場合、"a"を含む"asd"と "das"が含む行なので1行目と4行目を削除します。

 

わかる方、どうかよろしくお願いします。

0 件の賞賛
メッセージ1/4
4,113件の閲覧回数
解決策
トピック作成者ジョニーが受理

こんなのはどうですか?尚、このVIはあまり大きい配列データに対しては使わないほうがいいです。(配列連結はメモリの使用効率が悪い)大きい配列にはソフトウェアサークルバッファ等使用したほうが無難です。

 

ちなみにこの処理はどのようなプログラムで使われるのでしょうか?良ければ教えてください。

 

DeleteStringRaw.vi.jpg

 

 

 

0 件の賞賛
メッセージ2/4
4,084件の閲覧回数

こんばんは。高須さん質問のご回答ありがとうございました。

 

高須さんが私のために作成していただいた"DeleteStringRaw.vi"というプログラムを元に私の作成したかったプログラムを作成することができました。

 

私が作成したかったプログラムとは"sample.txt"というファイルを読み込んで、"sample.txt"の6列目で、"00:00:00:01"がくるごとに区切っていき、区切ったデータで"00:00:00:01"がない時に、その部分を削除して、最終的に、残りのデータを任意の名前で保存できるプログラムです。

 

高須さんありがとうございました。最後に、そのプログラムを見てもらえば幸いです。

すべてをダウンロード
0 件の賞賛
メッセージ3/4
4,064件の閲覧回数

返信が遅れてすみません。VIがLabVIEW 2010で保存されていたため、2010をインストールしていました。ちなみにこういう場ですとファイルメニューから「旧バージョンで保存」として出来る限り古いバージョンで保存して投稿された方が、より多くの人の意見を拾えます。ご参考にしてください。

 

頂いたプログラムですが、少々コメントさせて頂きますと、

 

 ・ブロックダイアグラムが大きすぎて全体が見渡せません。もう少しコンパクトにした方が良いかと思います。(デザインパターン・ステートマシンの使用が良いかと思います。)

 ・ファイル保存パスのダイアログが何の説明も無いので何を入力していいのか最初分かりませんでした。ファイルダイアログのExpress VIの使用などが良いと思われます。

 ・ブロックダイアグラムをダブルクリックして、フリーラベルにコメントとして処理内容を書くと、他の人が見ても分かりやすいコードになります。

 

 以上、余計なお世話以外何者でもございませんが、ご参考までに。。。

0 件の賞賛
メッセージ4/4
4,002件の閲覧回数