• ベストアンサー

EmEditorでの置換方法

EmEditorでの置換方法 EmEditor(フリー)で、カッコ内の文字列を削除したいのですが、方法がわかりません。 カッコは全角で、カッコも含めて削除したいのです。 文章の中にあり、カッコの中の文字列は1文字の場合もあれば4文字など不特定多数です。 そのような場合の検索方法はありますでしょうか? ヘルプを見たり、調べたりしましたが分かりませんでした。 よろしくお願いします。

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

  • ベストアンサー
  • SortaNerd
  • ベストアンサー率43% (1185/2748)
回答No.5

EmEditorでは+や*の後に?をつけることで最短一致で検索します。 つまり (.*?) です。

LALAPAR
質問者

お礼

本当だ!! こちらでもできました!!! ありがとうございます。 EmEditorのヘルプでは「?」が最短一致とはわからなかったです。 正規表現、奥深し!

その他の回答 (4)

noname#194317
noname#194317
回答No.4

正規表現は最長範囲にマッチしようとするので、(.*)では予期しない置換が発生します。例えばこういう文字列を先の正規表現で置換すると… はじめ(123)なかほど(456789)おわり -->はじめおわり になってしまいます。これを避けるには、文字クラスを組み合わせる必要があります。こんな感じで。 ([^)]*) この正規表現の意味は、 全角開き括弧(で始まり、 全角閉じ括弧)ではない文字の0回以上の繰り返しが続き、 全角閉じ括弧)で終わる となります。これなら、置換結果は次のようになりますよ。 はじめ(123)なかほど(456789)おわり -->はじめなかほどおわり perlとかだと、正規表現を最長一致にするか最短一致にするかを選べるので、最短一致にしておけば(.*)でも狙いどおりの結果にできます。また、昔のMIFESエディタは最初から最短一致でした。ただ、最初の失敗の例のような置換をわざとさせたい場合もあるので、正規表現の書き方で回避するのがよいでしょうね。

LALAPAR
質問者

お礼

できました!!! ありがとうございます。 これでほぼ期待通りの動作です。 でも、入れ子はダメですね (はじめ(123)なかほど)おわり --> おわり ただ入れ子の量が少ないので何とか対処できそうです。

回答No.3

No.2さんが回答している正規表現で対応できるかと。 全角括弧()の間に「 .* 」を入れるだけです。 正規表現について参考になるサイト ・今回関連するもの http://www.mnet.ne.jp/~nakama/regexp3.html ・その他 http://www.mnet.ne.jp/~nakama/

LALAPAR
質問者

お礼

教えていただき、ありがとうございます。 ただカッコから次のカッコまでの間が全て削除(または検索)されてしまいました。 どうやら猿だったようなので、教えていただいたリンクで勉強してみます。

noname#198951
noname#198951
回答No.2

置換に正規表現が使えるなら (.*) で検索できると思いますが、削除というのはできるのか… 秀丸ならできるかもしれません。 カッコが半角の場合は、正規表現で使われる特殊な記号になるのて"\("と書かないといけないかもしれません。

LALAPAR
質問者

お礼

教えていただき、ありがとうございます。 ただカッコから次のカッコまでの間が全て削除(または検索)されてしまいました。

  • MRT1452
  • ベストアンサー率42% (1392/3296)
回答No.1

該当エディタの事はわかりませんが、 一般的なテキストエディタであれば、マクロを組まない限り、そういうことは不可能かと。 該当エディタでマクロが組めるかどうかは、わかりませんが。 置換はあくまで検索文字列に完全一致(または英字の大文字小文字同一視での検索)したものを置換える機能なので、不特定文字列をまとめて削除したり等の置換えは出来ないでしょう。 エクスプローラの検索のようなオールマイティ文字を利用した曖昧検索が可能ならば、可能かもしれませんが。

LALAPAR
質問者

お礼

マクロを組む方法でも良かったので、教えていただきたかったのです。 あしからずありがとうございます。

関連するQ&A

  • 正規表現の置換(EmEditor)

    Fireworksで書きだしたhtmlをEmEditorで修正中です。 name="●●●" を一括削除しようと正規表現を使った置換を試みていますが上手く出来ません。 検索する文字列に入れるサンプル文字を教えて頂けませんか。 ■検索したい文字列例(行頭に半角スペースあり) (半角スペース)name="c123_r4_c6" (半角スペース)name="c123_r5_c5" (半角スペース)name="c123_r6_c4" などです。 全てに共通するものは name=""、c123、_r、_c です。 4、5、6 の位置にある数字は変わります。 ■置換後の文字列 空白 (検索したい文字列の行頭半角スペースも削除) よろしくお願いします。

  • Excelの置換

    すみません、Excelを教えてください。 ↓A1から文字列の項目が縦に並んでいます。先頭の数字(1: )を削除。文末の括弧付き数値をB列に移動したいと思っています。 1: ○○○○○○○○○(981) 2: △△(25) 3: □□□□□□(111) ↓ 2500: ★★★★(1000) 2501: ☆☆☆☆☆☆☆☆☆☆☆☆(299) 置換削除のやり方を教えてください。 ワードで置換削除をやってみましたが、次の行の内容まで削除されてしまい困っています。 文字列の部分的なセル移動はできるでしょうか? 部分的な移動ができない場合、括弧付きの数値で並べ替え等をする方法は無いでしょうか?

  • エクセル2003で置換

    こんにちは いつもお世話になっています。 B列の特定の複数セルの各一行目に半角の角括弧(ブラケット[ ])に挟まれた文字列があります。 文字列は半角のアルファベットや記号で、文字数は様々です。 一行目には他の文字列もあります。 この文字列を角括弧も含めて削除したいのです。 置換でやろうと思いますが、どのように検索したらよいでしょうか。 他の方法でも構いません。 セルは複数行からなり、一行目以外にも角括弧があります。一行目以外の角括弧は削除したくありません。 わかりづらい表現で恐縮です。情報不足があったら教えてください。 よろしくお願いします。

  • エクセル2003での置換について教えてください。

    エクセル2003での置換について教えてください。 こんにちは いつもお世話になっています エクセル2003での置換について教えてください。 特定の文字列以降の文字列を(特定文字列自身も含めて)削除したいのです。  特定の文字列は二つあります。【@】と【変化】です(【】も含みます)。  この二つの文字列はバラバラに出てきます。一方だけがでてくるセル、両方出てくるセル、両方出てこないセル、があるという意味です。  「*」を各特定文字の後ろに付けて、置換機能で削除していますが、二つの文字列に対して別々にやっています。 これを一度で置換して削除する方法を教えてください。  よろしくお願いします。

  • EmEditorでマクロ? 選択文字列を含む行の一括削除

    テキストエディタとしてEmEditorを使用しています。 「ある文字列」を全て削除する場合は置換を使えばできますが、 「ある文字列を含む行」を全て削除するにはどうすればよいのでしょうか。 マクロ機能を使用すればできるのではないかと思いましたが、 私は、マクロの記録/停止で実際に行った操作を記憶させる方法しか使ったことがなく、 この方法では上手くできませんでした。 文章中から任意の文字列を選択し、マクロの実行で文字列が含まれる行を一括削除 ということを行いたいです。 このようなマクロをご存じでしたら教えて頂けないでしょうか。 あるいは、これらのことは置換のみでもできるのでしょうか。

  • 長文において、項目番号の全角括弧を一度に半角括弧に置換したい

    長文において、項目番号の全角括弧を一度に半角括弧に置換したい Word2002のソフトを使用。 長い文章があります。 例えば、項目番号(3):括弧は全角 を(3):括弧は半角に変更したい。 [検索と置換]のダイアロボックス表示し、[検索する文字列]に(3)を、 [置換後の文字列]に(3)と、書き換える語句を入力している。 この方法だと(3)、(4)・・・と一個ずつ変更していかなければならない。 (質問)(1)、(2)、(3)、(4)と項目番号全てを一度に置換することは出来ないのでしょうか。全角の丸括弧()を半角の丸括弧に()に。

  • wood2003: 置換について

    1)文書内の一部の半角()を全角()に一括置換したいのですが、どうすればよいでしょうか? 条件:全角()にする文字列は、()内が全角文字の場合のみで、()内が半角文字の場合は変更したくないのです。  2)文書内の一部分だけのフォントサイズを変更したいのですが、どうすればよいでしょうか? 文字列はバラバラなので、1つ1つ選択してフォントサイズを変更するしかないのでしょうか?  1)&2)ともかなりのページ数になるので、できれば一括で置換できる方法があればと思っております。 

  • エクセルで全角~半角の相互への置換方法について

    エクセルの文字列の置換ですが、 全角文字から半角文字への置換。 また、その逆に半角から全角への置換。 方法があれば教えてください!

  • VBA XML の置換方法

    XMLの特定の文字列を書き変えたいのですが その文字の場所を特定して Replace (文字列、対象文字列、置換文字列、検索開始位置)で置換をすると 検索開始位置の前の文字が消えてしまいます 検索開始位置まえの文字はそのままにして、検索開始位置から後の文字列のみを置換する方法はないでしょうか

    • 締切済み
    • XML
  • Excel2000指定文字の置換方法

    セルのデータが全角で[1]や[2]を同じく全角で(1)や(2)というように括弧の部分だけ置換したいのですが、一括で置換すると -1 や -2 に変わってしまうので困っています。データ量が多いので1つ1つ変更していくのには手間が掛かりますので、何か良い方法はないでしょうか?

専門家に質問してみよう