• 締切済み

サクラエディタでの正規表現置換

サクラエディタの検索置換での正規表現の質問です。 ●質問 下記「現在」の状態のテキストを、フラッシュカードアプリに入れるため、「結果」のような状態にしたい。 空行は撤去してあるので、存在しません。 「現在」 0001 pen [pen] ペン This is a pen. 難易度1 0002 table [table] テーブル I can see an apple on the table. 難易度2 0003 Jay [jei] ジェイ(人の名前) Hi Jay! Long time no see you. 難易度3 --------------------- 「結果」 0001 pen [pen], ペン This is a pen. 難易度1; 0002 table [table], テーブル I can see an apple on the table. 難易度2; 0003 Jay [jei], ジェイ(人の名前) Hi Jay! Long time no see you. 難易度3; --------------------- ●背景 現在はスマートフォンのフラッシュカードのアプリが沢山あり、次の形式をみたしていると、きれいなフラッシュカードとしてテキストデータがインポートできるアプリがあることがわかりました。 必要な【形式】 用語と定義のあいだ→ , カンマ (補足:紙のカードでいう表,裏) カードのあいだ→ ; セミコロン (補足:紙のカードでいう次の紙) そこで、テキストを上の「結果」のような形式に手動でしてみたところ、きれいなカードが生成されました。 csvに書き出したテキストの空行やスペースを撤去してサクラエディタで整形し「現在」の形まではもってこれたのですが、「結果」の形にするには、どのような正規表現を「検索置換」のフィールドにいれたらよいでしょうか? ChatGPTに聞いたら、2回検索置換やればできそうな答えがでましたが、できないためこちらで質問することにしました。 OS: Windows11 補足;カンマとセミコロンの位置は、下記のように改行コードの前後に関係なくスマホアプリは認識するので、下記の形でも大丈夫です。 ;0001 pen [pen] ,ペン This is a pen. 難易度1 ;0002 table [table] ,テーブル I can see an apple on the table. 難易度2 ;0003 Jay [jei] ,ジェイ(人の名前) Hi Jay! Long time no see you. 難易度3 ;

  • ketae
  • お礼率85% (292/340)

みんなの回答

  • notnot
  • ベストアンサー率47% (4847/10260)
回答No.1

\] を \], に置換して、 難易度(\d+) を 難易度\1; に置換すれば良いかと思います。 目的以外の所に ] があったりすると駄目ですが、仮にあっても、そこは少数だろうから手で直す。

ketae
質問者

お礼

ありがとうございます。 実は 難易度n の行は、 Intermediate; reference: xxx newspaper (中級;出典:○○新聞より) のような文章があり、パターンは決まっていません。気づいたことを入力しており、当初は複数行あったのを、カードに入れるために途中改行を撤去し、1行になっています。 わかりにくいので、難易度に置き換えただけで、任意の文章1行があります。

ketae
質問者

補足

次で解決しました 1回目 ^(\d{4}) を ;$1 2回目 \] を \], に置換 ヒントありがとうございました

関連するQ&A

  • sakuraエディタのエクセルへのコピー

    ご質問です。 以下の、エクセルの複数セルからコピーしたテキストがあります。 *(何行にもわたって商品説明が記載されている) <table> ~テーブルのhtml~ </table> *(何行にもわたって商品説明が記載されている) <table> ~テーブルのhtml~ </table> *(何行にもわたって商品説明が記載されている) 上記から下記の方法で内容を整理しました。 (1)¥r、¥nを使用して改行を削除 (2)<table>を<table>¥nに置換 (3)</table>を</table>¥rに置換 (4)><を>¥n<に置換 上記でタグごとに改行し、 (5)文頭、文末の余計なテキストの削除 を行い (6)<table>¥n を"<table>¥nに置換 (7)</table>¥r を</table>¥n"¥rに置換 上記でテーブルのみの内容に修正してエクセルにコピーしようとしたのですが、 エクセルにコピーするとテーブルの内容ごとにセルに記載されてしまいます。 行いたいのは、1つのセルに対し、1つの<table>~</table>間を記載したいのですが どこが間違えているのでしょうか。 お分かりになる方がいらっしゃったらお教えください。

  • サクラエディタの正規表現での置換

    サクラエディタの正規表現での置換の方法について教えて下さい。 行の末尾が数字で終わらない行の改行コードを削除したいと考えています。 ---------- 元ファイル ---------- 000abc123 777def 456 333ghi789 222jk+ 111 ---------- ---------- 加工後 ---------- 000abc123 777def456 333ghi789 222jk+111 ---------- 「置換前」は『[^0-9]\n』を入力することで検索できましたが、 「置換後」に何を設定すれば良いのかわかりません。(または「検索対象」の設定を変える必要があるのかなど) 例えば置換後に何も設定しないと「777de456」とfが消えてしまうため、”f”を残した上で改行コードを削除したいのですが その方法がわかりません。 よろしくお願いいたします。

  • 正規表現を使用した置換(サクラエディタ)

    正規表現を使用して(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)

  • サクラエディタのコマンドで正規表現置換したい

    サクラエディタ(Ver 2.2.0.1)で日本語文字をすべて全角空白に置換しようと思い、以下のコマンドを実行しました。 ※画面上は改行しているかもしれませんがもちろん1行のコマンドです。 sakura.exe -GREPMODE -GKEY="[^\x{01}-\x{7E}]" -GREPR=" " -GFILE="sample.txt" -GFOLDER="C:\temp" -GOPT=R すると、なぜか各行で最初の日本語しか置換されません。 複数ファイルの処理も想定しているのでメニューではなくコマンドラインでやろうとしています。 実際にサクラエディタでうまく置換できる方はやり方を教えてください。

  • サクラエディタ 正規表現

    正規表現の書き方をネットで探しましたが、イマイチやりたいことが出来ないので、どなたか実際にかいてもらえませんか。 ・文頭のスペースやタブを除外して、'や--の行を検索する。 ・特定のフォルダを除外してGREPをかける。  例えば、aaa.txtというファイルにあいうえおという文字列が入力されていて、  そのファイルがC:\A、C:\B、C:\Cにあり、C:\Bだけを除外してGREPをかけたい  ※除外するフォルダ名の長さは不特定 ・検索したい単語の開始と終了は決まっていて、間に何文字入ってても(数字もあり)検索する  例えば、単語の開始が あいうえお で、終了が さしすせそ の場合 雑な質問で申し訳ないですが、どなたか回答お願い致します。

  • サクラエディタの正規表現について

    こんにちは。 サクラエディタの正規表現を使った置換について お伺いします。 文字列(タブ)文字列(タブ)文字列(タブ) 文字列(タブ)文字列(タブ)文字列(タブ) 文字列(タブ)文字列(タブ)文字列(タブ)         ・         ・ というファイルがあった場合、 各行の一番最初の文字列だけ残して タブ以降すべて削除したいと思っています。 この場合どのようにしたらよいのか、大変悩んでいます。 お知恵をお借りできましたら幸いです。 よろしくお願いいたします。

  • サクラエディタでの正規表現使い方をお教えください。

     次のようなテキストがあり =より前を削除したいのです Range("A1").ColumnWidth = 6.5 Range("B1").ColumnWidth = 6 Range("C1").ColumnWidth = 7 Range("D1").ColumnWidth = 6.88 Range("E1").ColumnWidth = 6.25 置換え後は=より後の文字だけにしたいのです 6.5 6 7 6.88 6.25 のように 宜しくお願い致します。

  • テキストエディタの正規表現による置換について

    例えば、テキスト内に以下の文章があった場合(広がると伝播の間にタブがはいっています) 広がる     伝播, 蔓延, 流布, 拡散, 伝播する, 延展する, 蔓延する, 流布する, 広げる この「広がる     伝播」のみを残して、右のカンマで区切られた余計なもの(蔓延, 流布, 拡散, 伝播する, 延展する, 蔓延する, 流布する, 広げる)を一括で削除したいのです。 改行されて、同様の文章が続きますので、全行で一括置換したいのです。 可能でしょうか?

  • 正規表現を教えて下さい(テキストエディタでの置換)

    いつもお世話になっております。 正規表現に関して細かい質問をさせて下さい。 例えば、G-01,T-02,F-05とあったときに、 これを、01,02,05としたいとき、 正規表現の置換で「[A-Z]-[0-9][0-9]」→「[0-9][0-9]」とすると、 "[0-9][0-9]"という文字列だけ残ってしまいます。 既存の文字列をそのまま残すにはどのようにしたらよいでしょうか? ※テキストエディタでの置換に関してです。 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • サクラエディタでの置換について

    サクラエディタを使って、置換をしたいのです。 以下のようなコードで、(1)・(2)や(5)・(6)を2行をまとめて置換したいのです。1行のみの置換だと全て置換されてしまうので困っています。 (タブ)<tr bgcolor="#ffffff">(改行)........(1) (タブ)(タブ)<td>AAAAAAA</td>(改行)........(2)            : (タブ)<tr bgcolor="#ffffff">(改行)........(3) (タブ)(タブ)<td>BBBBBBB</td>(改行)........(4)            : (タブ)<tr bgcolor="#ffffff">(改行)........(5) (タブ)(タブ)<td>AAAAAAA</td>(改行)........(6)            : (タブ)<tr bgcolor="#ffffff">(改行)........(7) (タブ)(タブ)<td>CCCCCCC</td>(改行)........(8)            :            : また、自分で以下のように置換してみました。 置換前 \t<tr bgcolor="#ffffff">\n\t\t<td>AAAAAAA</td>\n  置換後 \t<tr bgcolor="#CCFF66">\n\t\t<td>AAAAAAA</td>\n として置換したのですが、文字列が見つかりませんと表示されてしまいます。2行をまとめて検索して、置換する事って出来ないのでしょうか? どなたかご教授願います。宜しくお願い致します。

専門家に質問してみよう