• ベストアンサー

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

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

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

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

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

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答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

  • VBA offsetで持ってきた範囲に特定の文字列の有無を判断し列を追加したい

    いつもお世話になっております。 皆様のご助言のおかげで順調でしたがまたわからない事にぶつかってしまったので、お力を借りれればと思い質問させていただきます。 エクセルのVBAを使って、ファイルAのボタンでフォルダ内の複数ファイルの特定のシートからデータを抽出しファイルAにまとめる作業を行っています。その際他ファイルからデータを持ってくるときは抽出元ファイルのフォーマットが同一の為、offsetを用いて該当ファイルがなくなるまでループさせています。 今ぶつかっているところは抽出したデータを持ってきて、その持ってきた範囲のある列(例えば列A)に特定の文字列が複数ある場合は1、ない場合は0を持ってきた範囲の最後尾の列(例えば列G)の全てに追加したいのです。その後、次のファイルに行くという処理を行いたいです。 いつもご迷惑をおかけして申し訳ありませんが、お力添えをお願いします。 xp、excel2000です。よろしくお願いします。

  • エクセル-抽出したデータや文字列を消さない方法

    他のファイルから例えばVLOOKUP関数で数値や文字列を抽出する場合、そのファイルが消えた場合抽出したデータや文字列も消えてしまいます。ファイルが消えてもデータや文字列を残すには別のセルにコピーして形式を選択して貼り付ければよいのですが、そうしなくても簡単に別のセルに数値や文字列として残す方法はないでしょうか。回答よろしくお願いいたします。

  • エクセル:文字列の前方一致の抽出方法

    エクセルについて質問です。 原本のリストから抽出したいのですが、文字列が完全一致していないので 抽出できません。前方一致で抽出する場合どうしたらよいか 教えて下さい。      A         B          C ロキソニン10mg  ロキソニン   カルデナリン1mg  アムロジン2.5 アムロジン2.5mg カロナール200mg A列に原本のリストがあって、B列に抽出したい文字列があります。 A列とB列の文字列が完全には一致していないので抽出できません、 B列と同じ文字列がA列にある場合、A列の文字列をC列に返したいのですが どのような関数を使ったらよいでしょうか? 教えて下さい。

  • Excel VBAで複数のExcelブックからある文字列を検索→抽出したものをまとめたい

    Excel VBAで以下の操作は可能でしょうか。 私はAccessVBAを少しさわる程度でExcel VBAはまったくわかりませんし、 まだ現物データを見ていないので説明不足ですが、 ご存知の方がいらっしゃいましたらどうぞご回答をお願いします。 コード等もあわせて教えて下さるととても助かります。 複数のExcelブックからある文字列を検索→抽出したものをまとめたい。 ・検索抽出したい文字列の入っているセル位置は固定。 ・抽出したデータを新たなファイルにするか、どうするかはまだ未定。 ・Excelブックは100個ほどある。

  • Word 選択文字列以外のものまで

    Wordで文書を作成し、文字列を選択して色を変えたり、中央揃えにしたりすると、選択文字列以外の文字、その文書内の文字全てが色が変わったり中央揃えになってしまいます。 「元に戻す」ボタンを押すとちゃんと選択したものだけ設定がされるのですが、何故でしょうか?? その文書を全てコピーし、メモ帳に貼り付けたあと、改めてコピーしなおしてWordの新規文書に貼り付けると、直る場合と、直らない場合があります。 困っています。 このような現象の直し方をご存知の方がいらっしゃいましたら、教えてください。 よろしくお願いいたします。

  • Excelで周期的に列を削除する方法

    Excel2007を使用しています。 データの整理で、周期的に列を削除する方法を探しています。 具体的には、Fast samplingで10点、Slow samplingで1点とるというような計測プログラムのデータで、Slow samplingのデータのみを抽出しようとしています。 そのため、10列削除して、11列目を残し、12列目から10列削除して、22列を残し・・・と周期的に抽出する必要があります。 マクロなどを使ったことがないほどの初心者です。 ご教授、よろしくお願い致します。

  • 指定した文字列を含む行から、指定した文字列を

    含む行まで、全ての行を抽出して別ファイル(名前は元ファイルと同じ)としたいのです。 対象ファイルに結果を上書きでもかまいません。 指定したフォルダの中にある複数のフォルダ各々に1つずつ入っているテキストファイルが対象になります。 例) 東京都 新宿区 <start123AAA> 東京都 港区 <end>AAABBB 東京都 目黒区 どのファイルにも必ず<start と<end の文字列があります。(必ず1組です) <start の文字列を含む行から <end の文字列を含む行までを 抽出したいのです。 (欲しい結果↓) <start123AAA> 東京都 港区 <end>AAABBB フリーのエディタソフトのgrep、grepのマクロ、バッチでできないものかと試してみているのですが どうしてもうまくいきません。 抽出したい範囲、削除する範囲には禁則文字?が入っているのでバッチは難しいのでしょうか? できればバッチで処理できればなと思っているのですが、うまくいきません。 (<>!""/ あたりが入っています。別の文字に置き換えることは可能です) 範囲を抽出ではなく、 <startを含む行の一つ上の行から前を全て削除 <endを含む行の一つしたの行から後を全て削除 する方法や VBAで、スタート行をとエンド行をSearchして抽出する方法など ご教授いただきたくお願い致します。

  • 文字列検索の方法

    ○.csvという複数のファイルがあります。 内部のデーターは「,」区切りになってます。 複数のファイルの中に、あるキーワードに一致する文字列を含む ファイル名を一覧で表示する方法(プログラム)を教えてください。 雰囲気は全文検索みたいな感じです。 関数や簡単なプログラムであれば、例をあげて頂ければ幸いです。

    • ベストアンサー
    • Perl
  • Excel VBA 同じ文字を含む文字列のフィルタ方法

    Excel2000 VBAの質問です。 リストの中に文字列があり、フィルタにより抽出したいのですが、 Advancedfilterを使うと先頭から同じ文字がある場合、両方抽出されてしまいます。 例   A    B 1 MS-06 … 2 MS-06S … : MS-06で抽出しようとすると、MS-06Sも抽出されてしまいます。 抽出したい文字列は3つ以上あります。 どのようにすればよいでしょうか?アドバイスをお願いします。

  • 文字列の重複を自動的に削除したいです。

    文字列の重複を自動的に削除したいです。 メモ帳でテキストファイルで数列が書いてあるファイルを5ファイルくらい持っています 中身は1~6桁の数字が書いてあります テキストファイル1 10272 10838 16629 17074 17192 18081 テキストファイル2 10838 16323 16919 17074 18081 19946 21232 こんな感じなのですが この1と2を1つのファイルにまとめたいと思っています まとめテキストファイル 10272 10838 16629 17074 17192 18081 10838 16323 16919 17074 18081 19946 21232 すると 10838 17074 など2回出てきてしまいます これを自動的に削除してテキストファイルに戻す方法はないでしょうか? よろしくお願いします。

このQ&Aのポイント
  • 突然変わったPINコードとサインインパスワードによって、FMVに入れない問題が発生しました。
  • 富士通FMVのPINコードとサインインパスワードが急に変更されたため、FMVにアクセスできなくなりました。
  • FMVのPINコードとサインインパスワードが突然変更されたことで、アクセスできない問題が起こりました。
回答を見る

専門家に質問してみよう