• ベストアンサー

必要な文字列以外すべて削除する方法

宜しくお願いします。 現在、文字データを抽出しようと思っているのですが、複数ファイルがありすべてのファイルが微妙にフォーマットが異なっています。 唯一、一致しているのが、○○○-○○○という形式の文字列でそれ以外の文字は異なっています。 そこでなんですが、この形式の文字列以外を削除する方法がありましたら教えて下さい。 ファイル形式は、Word・Excel・メモ帳・ワードパッドの中であれば、どれでも構いません。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.4

質問の意味が「ファイル」とは関係なく、添付画像のように、1つの段落から半角ハイフンの右と左に3文字ずつある文字列だけを抽出したいということなら、ワードを使って以下のような置換操作で可能です。 Ctrl+Hで置換ダイアログを出して「オプション」ボタンをクリックして「ワイルドカードを利用する」にチェックを入れ、検索する文字列に「*(???-???)*(^13)」、置換後の文字列に「\1\2」として「すべて置換」します。 上記の回答が、もしご希望の操作と違うなら、目的を含めて実際のデータ例と処理結果をもう少し具体的に例示してください。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

>複数ファイルがあり どういうファイルがあるのか。例えば拡張子は何か? データ例を挙げられないのか。 >ファイルが微妙にフォーマットが異・・ データの例示できないのか。 >一致しているのが、○○○-○○○という形式の文字列でそれ その一致していることでどのように使うのか。 >この形式の文字列以外を削除する方法がありましたら教えて下さい。 削除して何をしようというのか。むしろ、共通の形式のものを削除したら困るのではないか。 >ファイル形式は、Word・Excel・メモ帳・ワードパッドの中であれば、どれでも構いません。 この意味も不明。元のファイルもよく説明されてないのに、結果ファイルのことを指定しているのはナ何のこと?。 ーー 全般に、何をを言って居るか判らない。 違う観点から全般を表現でもしてみたら。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

>唯一、一致しているのが、○○○-○○○という形式の文字列でそれ以外の文字は異なっています。 >そこでなんですが、この形式の文字列以外を削除する方法がありましたら教えて下さい。 質問の意味がいま一つわかりません。 「この形式の文字列以外」とは具体的にどのようなデータ(または部分)を指しているのでしょうか? 「○○○-○○○」の文字列の含まれる段落を削除したいということなら単純な置換作業でできます。 もう少し複雑な置換をしたいならWordの検索置換機能を用いれば実行することが可能ですので、元データの具体的な例と変換後の文字列をもう少し具体的に例示してください。

  • maia55jp
  • ベストアンサー率61% (327/535)
回答No.1

○○○-○○○なような形式はパターン制があるが決まった文字列じゃない場合は、正規表現 を使う必要があり、Word・Excel・メモ帳・ワードパッドには、その機能がありません。 とりあえずの方法としてはコマンド・プロンプトでfindstrを使えば行の抽出が出来ます。 対象ファイルは、すべてテキストファイルで行ってください。 XXXX.TXT C:\temp ←適当なディレクトリー(フォルダ)を作って対象のファイルをコピーしてください。 C:\temp\findstr /R /N "...-..." *.txt ←○○○-○○○の正規表現として...-...を使用 実行後、下記が出力されます。 test.txt:3:abc TE-STtest2.txt:3:abc TA-ST test2.txt:5:abc TA-BB test2.txt:6:abc TA-DD C:\temp\findstr /R /N "...-..." *.txt > result.txt ←リダイレクトリーで出力結果をresult.txt へも可能です。 http://www.atmarkit.co.jp/fwin2k/win2ktips/511findstr/findstr.html 大量にある場合には、正規表現が使用出来るエディターを使うか正規表現のライブラリーを 使用してプログラムを作るのが早いです。

関連するQ&A

専門家に質問してみよう