ウォッチ漫画『酒男子』新連載開始!

秀丸エディタで改行含む複数行の文字列を置換したいのです。
たとえばHTMLファイルの

■置換前
<div id="Header">
~~
~~
~~
<!-- /Header --></div>

■置換後
<div id="Header">
AAAA
<!-- /Header --></div>

となるようにしたいですが
「~~」の中は規則性のある記述になっておりません。
文中に半角スペースが入っていたり、行頭のインデントが揃ってなかったり
タグの順番も統一されておりません。

上記は例としてあげてますが実際は100行近くあり、ファイル数も数百ファイルあります。
ひとつだけ分かってるのは

<div id="Header">

<!-- /Header --></div>
の記述は存在するので、この範囲内の文字列をどうにか選択できないか教えていただけないでしょうか。

正規表現でなくても実現できるフリーツールでも構いません

よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

https://www.google.co.jp/url?sa=t&source=web&rct …


どの辺がわかりませんか?
    • good
    • 0
この回答へのお礼

書いてある通りなんですが。。。

お礼日時:2014/01/12 19:25

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q秀丸マクロで、あらかじめ選択した範囲にのみ処理を適用するには

秀丸マクロで、あらかじめ選択した範囲にのみ処理を適用するには
どのように書けばよいのでしょうか?

具体的には

replaceall "あああ" , "いいい";

のような置換処理を、
現在開いているファイルの選択範囲にのみ適用したいと考えています。

意味不明でしたら加筆修正しますのでよろしくお願いします。

Aベストアンサー

置換処理の最後のパラメータに「,inselect」を追加すれば良いハズです。

Q秀丸で余分なスペースを削除したい

EXCELデータをテキストデータに変換するため、ファイルを全範囲指定してEXCELから秀丸にコピペしました。

EXCELデータを作成する際に入ってしまっている余分なタブやスペースを削除したいと思っています。

タブの方は「置換」機能で「\t」→「 」(スペース)とすることで削除することができました。しかし、複数個の連続スペースを1個の改行に変換する方法が分かりません。「置換」欄は「\n」と入れれば良いと思うのですが、「検索」欄で「2個以上の連続スペース」を指定するにはどうすれば良いでしょうか?宜しくお願い致します。

Aベストアンサー

正規表現にして、
 「 +」(スペース2つに'+')
で2個以上のスペースが検索できます。
検索/置換のヘルプ→正規表現に詳しく書かれています。

Q(秀丸)正規表現で、特定文字列含む<~>範囲を選択

お世話になります。
(秀丸の)正規表現について教えてください。

たとえば、テキストファイルに、1行、
”<abc>文字列1です><abc>文字列2です><abc>文字列3です>(ここで改行)”
という文字列が存在しています。

それを対象として、
(秀丸の)正規表現を利用し、
”<abc>文字列2です>”だけをマッチさせたいのですが、
試しに、(秀丸の)正規表現で、
<abc.*文字列2.*?>  ←(なお、実際の記号は半角(.*?等)で、それぞれ入力しています・・・)
で検索実行したところ、
”<abc>文字列1です><abc>文字列2です>”
として、
前の方に、マッチして欲しくない、
”<abc>文字列1です>”
までがマッチしてしまっている状況です。

そこでご質問なのですが、
上記におきまして、(秀丸の)正規表現を利用して、
”<abc>文字列2です>”だけをマッチさせるには、
どのようにすれば、よろしかったでしょうか?
(ちなみに秀丸は、2013年12月10日(火)現在の
 最新バージョンVer8.32を利用しています)

以上になります。
宜しくお願いいたします。

お世話になります。
(秀丸の)正規表現について教えてください。

たとえば、テキストファイルに、1行、
”<abc>文字列1です><abc>文字列2です><abc>文字列3です>(ここで改行)”
という文字列が存在しています。

それを対象として、
(秀丸の)正規表現を利用し、
”<abc>文字列2です>”だけをマッチさせたいのですが、
試しに、(秀丸の)正規表現で、
<abc.*文字列2.*?>  ←(なお、実際の記号は半角(.*?等)で、それぞれ入力しています・・・)
で検索実行したところ、
”<abc>文字列1です><abc>...続きを読む

Aベストアンサー

表現としては
<abc[^<]*文字列2[^<]*>
こんな感じでしょうか
他の書き方もできると思います

Q秀丸:あらかじめ設定した複数のワードを全て検出したい

秀丸のマクロについての質問です。
こんな秀丸のマクロってないでしょうか?
いろいろ検索をかけてみたものの、見つかりませんでした。

・文中に予め設定しておいた複数の特定ワードが含まれていないか、一括で検出したい
 (例えば、あああ・いいい・ううう が含まれていないかを検索)
・検出するだけで、変換機能はなくていい
・検出する対象ファイルは、現在開いているファイルのみでいい

もしご存知の方がいらっしゃったら、ぜひ教えて下さい。
よろしくお願い致します。

Aベストアンサー

秀丸のメニューの検索からgrepの実行があります。
選択すると検索するファイルを選択するリストボックスがあります。
そこで現在の内容を選べば、質問でいう検出するファイル対象は、
現在開いているファイルと同じことになります。

>一つのファイルから複数のワードを洗い出したいときは、拡張マクロ(?)などが必要なんでしょうか?

必要じゃないですね。
ほぼ、正規表現で事足りると思いますよ。

例を出しておきます。
あああ
いいい
ううう
えええ
おおお
上記が入力されているファイルで「あああ」と「いいい」をgrep機能を
使用して検索する場合、
検索する文字列に「あああ|いいい」
検索するファイルに「(現在の内容)」
正規表現にチェックをつけてOKをクリックすると

(1): あああ
(2): いいい

という結果が返ってきます。

ちなみに、この正規表現は検索でも置換でも使用できます。
正規表現を駆使すればかなり使用範囲が広がるので、是非活用してみて
ください。

Q秀丸で指定した文字が入っている行以外を削除

秀丸で指定した文字が入っている行以外を
削除する置換方法を探しております。
ご存知の方お教えください

Aベストアンサー

例えば指定した文字がaだったとします。
検索ダイアログで検索欄に
^[^a]+\n
を書いて、置換欄を空欄にして、正規表現のチェックをONにして、全置換などを押します。

これでaを含まない行がすべて削除されます。

Q秀丸マクロ =検索文字を文末まで置換=

秀丸エディタのマクロを使って以下の処理を行おうとしました。

1.検索した文字の一行下の行をコピーし、
  そのコピーした行末にコピーしたデータを貼り付ける。
2.最初に検索した文字に該当する次の文字の一行下の行をコピーし、
  そのコピーした行末にコピーしたデータを貼り付ける。
  (繰り返し。)
3.文末(EOF)まで2.の処理を繰り返す。

以下のマクロを作ってみました。

while(code != eof){
setcompatiblemode 15;
searchdown "検索文字" , hilight;
down 1;
copyline;
paste;
finddown;

すると、2.の処理まで正常に実行されるのですが、
検索文字がなくなった時点で2の処理がストップされる事がなく、
それ以降の行のすべてが文末(EOF)まで、コピー&ペーストの処理が
繰り返されます。

例:______________________________________________________
(元の文)
○○
×××
△△
■■■
○○
□□□□
☆☆

(検索する文字)
○○

(マクロ実行後の文)
○○
×××
×××
△△
■■■
○○
□□□□
□□□□
☆☆
☆☆
______________________________________________________

上記の例でいうと、(元の文)の☆☆の部分が、(マクロ実行後の文)で
☆☆
☆☆
となってしまってます。
この部分を
☆☆
のままにしたいのです。

マクロをどのように組めば実現できるのでしょうか。
よろしくお願いします。

秀丸エディタのマクロを使って以下の処理を行おうとしました。

1.検索した文字の一行下の行をコピーし、
  そのコピーした行末にコピーしたデータを貼り付ける。
2.最初に検索した文字に該当する次の文字の一行下の行をコピーし、
  そのコピーした行末にコピーしたデータを貼り付ける。
  (繰り返し。)
3.文末(EOF)まで2.の処理を繰り返す。

以下のマクロを作ってみました。

while(code != eof){
setcompatiblemode 15;
searchdown "検索文字" , hilight;
down 1;
copyline;...続きを読む

Aベストアンサー

以下のようにしてください
----------------------------------------------------
setcompatiblemode 15;
//ファイルの先頭へ移動(カーソルがどこにあっても良いようにするため)
gofiletop
searchdown "検索文字" , hilight;
while(1){
if (result == 0) { break;}
//行頭へ移動(しないと正しくコピーできない)
golinetop;
down 1;
copyline;
paste;
finddown;
}
------------------------------------
不明点は、聞いてください。動作確認済みです。

Q秀丸エディタ タブをカンマに置換したい

秀丸エディタで、タブをカンマに置換したいのですが可能でしょうか。


ちなみに、「 \t 」 で検索しても、ヒットしません。
どなたかわかる方がいらっしゃいましたら、
ご回答よろしくお願いします。

Aベストアンサー

検索のオプションで「正規表現」にチェックを入れてありますか?

Q秀丸マクロで列ごとに一括置換したい

事で急に初めて秀丸を使用することになりました。
EXCEL VBAは多少使ったことがあるのですが、
秀丸マクロは置換=replaceallくらいしかまだ調べられていません。
下記のことをマクロで行いたいのですがコードを教えていただけますでしょうか。


やりたいこと:

①100列超×10000行超のCSVファイルのデータに対して、
 指定した列のみ全角スペース1個を半角スペース4個に変換したい
②指定列以外に全角スペースがあっても変換したくない
③指定列は必ずしも連続していない
④全角スペースの数は1項目に1個
 (全角スペース1個の項目と、↓の「家族人数」列のように
  スペースの前に数値がある項目も存在します)
⑤1行目は見出し行、2行目からが明細行
 (変換対象は2行目から最終行の特定の列です)
⑥変換対象のCSVファイルは複数存在しますがどれもレイアウトは同じですので
 変換したい列番号も同じです


例:

No.,名前,住所,子供有無,住居,家族人数,車有無,備考
001,はなこ,東京都 ,有,マンション,3人, ,
002,たろう,神奈川県,無,アパート ,0 ,有,
003,よしこ,埼玉県 ,有,戸建   ,4人,無,ペットは犬

変換したい列=「子供有無」「家族人数」「車有無」の3列のみ
(家族人数が「0 」と登録されることはあまりないと思いますが
あくまで例と思っていただければと思います。)

秀丸のバージョンは8.52です。

変換対象のCSVファイルは複数存在し、少しおいてまた作業があるので簡易化・ミス減のためマクロを作成したいです。個人的にはエクセルで実施したかったのですが秀丸で変換するよう指定され、対応することとなった次第です。

他力本願となってしまい本当に申し訳ございませんがお力をお貸しください。
長文すみませんでした。よろしくお願いいたします。

事で急に初めて秀丸を使用することになりました。
EXCEL VBAは多少使ったことがあるのですが、
秀丸マクロは置換=replaceallくらいしかまだ調べられていません。
下記のことをマクロで行いたいのですがコードを教えていただけますでしょうか。


やりたいこと:

①100列超×10000行超のCSVファイルのデータに対して、
 指定した列のみ全角スペース1個を半角スペース4個に変換したい
②指定列以外に全角スペースがあっても変換したくない
③指定列は必ずしも連続していない
④全角スペースの数は1項目...続きを読む

Aベストアンサー

こんなかんじで如何でしょうか?
4列目、6列目、7列目に対して置換を行っています。

setcompatiblemode 0x0F;
gofiletop;
replaceall "(?<=^([^,]+,){3}[^,]*)(?= +[^,]*,([^,]+,){3}) " , " " , regular, nocasesense, nohilight;
gofiletop;
replaceall "(?<=^([^,]+,){5}[^,]*)(?= +[^,]*,[^,]+,) " , " " , regular, nocasesense, nohilight;
gofiletop;
replaceall "(?<=^([^,]+,){6}[^,]*)(?= +[^,]*,) " , " " , regular, nocasesense, nohilight;
if( ! result ) beep;


人気Q&Aランキング