- ベストアンサー
改行を正規表現での置換のあとで元に戻す。
あるテキストデータを一行ごとに読み込んで、chompで改行をはずして結合し、一つの長い行にしてから、正規表現で文章中の単語を(かなり多く)置換したとします。置換したあとのデータを、元データと同じ改行位置で改行をしたいのですが、なにか簡単な方法がありましたら教えて下さい。
- みんなの回答 (9)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (8)
関連するQ&A
- 正規表現による改行の置換
Windowsで正規表現ができるテキストエディタ(NoEditer)を使っており、次のような改行で区切られた文を最後のピリオッドまでをつなげたいと思っています。例文ではX,Y,Z.の直後には改行が入っており、目的はAaaaXBbbbYCcccZ.と一文につなげることです。 [例文] AaaaX BbbbY CcccZ. 正規表現で \n[^(\.\n)] としてを空欄に置換すると2行目以降の頭が消えてしまいます。---> AaaaXbbbYcccZ. 文頭の文字が消えずつなげる方法を教えて下さい。
- ベストアンサー
- その他(ソフトウェア)
- 正規表現で置換
正規表現の初心者です。 テキストエディタを使って、「@:」で始まる以外の行の先頭に「//」を挿入してコメントアウトしたいのですが、正規表現がうまく書けません。 検索対象: ^[^(@:)] 置換文字列: // でいいのかなと思ったのですが、[]の中ではグルーピング用の()も文字として認識されてしまうのですね。 どのように書いたら正しく置換されるでしょうか。 どうかご教示ください。
- ベストアンサー
- その他([技術者向] コンピューター)
- 正規表現を使用した置換(サクラエディタ)
正規表現を使用して(7桁の数値)のみを残す置換をしようとしましたが上手くいきません、上手い方法はありませんでしょうか。 (7桁の数値)がなくても改行は残す置換を行いたいです 例 1行:12345(1000000)1145 2行:231(1234567)231(8901234)235 3行:235677433 4行:(1111111)(2222222)333 ↓ 置換 1行:(1000000) 2行:(1234567)(8991234) 3行: 4行:(1111111)(2222222)
- 締切済み
- その他(プログラミング・開発)
- サクラエディタの正規表現での置換
サクラエディタの正規表現での置換の方法について教えて下さい。 行の末尾が数字で終わらない行の改行コードを削除したいと考えています。 ---------- 元ファイル ---------- 000abc123 777def 456 333ghi789 222jk+ 111 ---------- ---------- 加工後 ---------- 000abc123 777def456 333ghi789 222jk+111 ---------- 「置換前」は『[^0-9]\n』を入力することで検索できましたが、 「置換後」に何を設定すれば良いのかわかりません。(または「検索対象」の設定を変える必要があるのかなど) 例えば置換後に何も設定しないと「777de456」とfが消えてしまうため、”f”を残した上で改行コードを削除したいのですが その方法がわかりません。 よろしくお願いいたします。
- ベストアンサー
- その他(プログラミング・開発)
- 正規表現で改行が3個続いてたら、それを削除する書き
検索とか置換えで、正規表現で、改行が3回続いていたら、それを削除する書き方ってあるでしょうか? 試して見てるのですが、改行が全部消えてしまい、うまく思い通りにいきません。 検索:^\n 置換: とかだと、改行が全部なくなってしまいます。 ^\n\n\n$ だと、ヒットしません。 改行が続いていて、それを3行だけ取り除くなんていうのは、できないもんでしょうか。 文章の中にあります。 行頭に半角空白,改行と続くのもありますが、それはヒットしないように。
- ベストアンサー
- その他(インターネット・Webサービス)
- Excelの置換で改行
Excelの置換で、 ある言葉のあとに改行を入れる方法を教えてください。 「AAA」という言葉を指定したら、AAAのあとに必ず改行(セル内での改行)を入れる方法です。 正規表現のようなもので改行が指定できたら、それでできると思うのですが、やり方がわかりません。 (そもそも置換で正規表現が使えるかどうかも知りません) Excel2000です。 (ただ、申し訳ないのですが、VBAなど難しいことはよくわかりません。)
- ベストアンサー
- オフィス系ソフト
- 正規表現で一括置換
現在、数多くの長文データを、テキストエディタの置換機能で一括置換しています。 jeditX(または秀丸エディタ)の正規表現をもちいた複数一括置換について質問させていただきます。 私は正規表現やPC言語の初心者です。どうぞよろしくお願いいたします。 かなり困り果てております。どうぞ、正規表現にくわしいかた、よろしくお願いします。 一二三『一二三にそれぞれ♪マーク』 という文章に対して 一♪二♪三♪ という一括置換をすることには成功しました。 こう書いています。 ■検索文字列 (.{1,1})(.{1,1})(.{1,1})『(.{1,1})(.{1,1})(.{1,1})にそれぞれ♪マーク』 ■置換文字列 \1♪\2♪\3♪ これでぶじ、以下のように一括置換できました。 一♪二♪三♪ 現実には傍点や圏点をふっているんですが、判りやすく♪マークにしています。 この調子で長い文章も変換できていて満足していたのですが…… しかし代入文字が10個以上になったとたんに、まったく動きません。 ■置換したい文章 一二三四五六七八九十『一二三四五六七八九十にそれぞれ♪マーク』 ■検索文字列 (.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})『(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})(.{1,1})にそれぞれ♪マーク』 ■置換文字列 \1♪\2♪\3♪\4♪\5♪\6♪\7♪\8♪\9♪\10♪ こうやると、置換後の文章は以下のようになってしまいます。 一♪二♪三♪四♪五♪六♪七♪八♪九♪一0♪ 10個目以降の数字が、正しく機能してくれません。 \10 という正規表現の書き方は 「一番目の値を参照して、それから数字の0を記入しなさい」 という意味になってしまうようです。 わたしは十番目の値を代入してほしいだけなんです。 \1 や \2 や \3 といった代入文字のように \10 や \11 を機能させる、正しい表記をご教授ください。よろしくお願いいたします。 ちなみに以下のように書いてもダメでした……。 \1\0 グーグルで1日中検索しても判りませんでした。jeditXの複数一括置換でこれをなんとかしたいのです。ご存じの方、どうぞ教えてください。よろしくおねがいします! 秀丸エディタをご利用で、正規表現にくわしい方も、ぜひヒントを出していただければと思います。
- ベストアンサー
- その他(プログラミング・開発)
- 正規表現で検索するときのパターンについて
VBScriptの正規表現で、100行くらいのテキストファイルを対象に検索を行いたいのですが、その中の一行に単語1と単語2と単語3の3つの単語が全て含まれるそういう行があるかないかを調べるには、どういうパターンにすればいいでしょうか? (単語1と単語2と単語3の順番は問いません。) ご教授のほどよろしくお願いいたします。
- ベストアンサー
- Visual Basic
- 正規表現置換
はじめまして。 現在、テキストエディタで kami987koroです。(漢字、かな、英数字、半角記号、全角記号、改行、スペースを含む文字列)ありがとうございました。 という文字列を正規表現で拾いだして、置換したいと考えています。 ただ、私がその方面の知識に疎く、どう表記すればよいのか分かりません。 そこで、この分野にお詳しい方、ご教授願えませんでしょうか? よろしくお願い致します。
- ベストアンサー
- その他(業務ソフトウェア)
- 改行を含む場合の置換。
内容が文章のテキストファイルがあります。 その中のある一部分を置換したいのですが、 例) おはようございます。→こんばんは。 FileReaderで一行づつ読み込んで、その中から「おはようございます。」を 探して「こんばんは。」に置換することはできたのですが、 文章なので途中で改行が入っている場合があります。 例) おはようご(↓改行) ざいます。 こういう場合だと、探し出すことができません。 一度ファイルの内容を全部ひとつのStringに入れて 置換するという手も考えたんですが、 書き出すときに文章のズレが出てきてしまいます。 何かいい手はあるんでしょうか? わかりにくくてスイマセン。
- ベストアンサー
- Java
補足
返答が遅れて申し訳ありません。 Windows用mecabをインストールしなおしたらエラーは出なくなったのですが、今度は出力結果が駄目です(通常の形態素解析結果すらうまく出力されない)。 また、 mecab -O wakati lisk.txt > out.txt も試したのですが、 tagger.cpp(146) [writer_.open(param)] writer.cpp(62) [! std::string(param.getProfileString(nfk.c_str())).empty()] unknown format type [lisk.txt] といったエラーが出てしました。 ちなみに、 mecab lisk.txt -o out.txt は大丈夫でした。 どつぼです。出来るのと出来ないのが混在して、何が原因か特定ができません。