- 締切済み
サクラエディタでの正規表現置換
サクラエディタの検索置換での正規表現の質問です。 ●質問 下記「現在」の状態のテキストを、フラッシュカードアプリに入れるため、「結果」のような状態にしたい。 空行は撤去してあるので、存在しません。 「現在」 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 ;
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- notnot
- ベストアンサー率47% (4900/10359)
\] を \], に置換して、 難易度(\d+) を 難易度\1; に置換すれば良いかと思います。 目的以外の所に ] があったりすると駄目ですが、仮にあっても、そこは少数だろうから手で直す。
お礼
ありがとうございます。 実は 難易度n の行は、 Intermediate; reference: xxx newspaper (中級;出典:○○新聞より) のような文章があり、パターンは決まっていません。気づいたことを入力しており、当初は複数行あったのを、カードに入れるために途中改行を撤去し、1行になっています。 わかりにくいので、難易度に置き換えただけで、任意の文章1行があります。
補足
次で解決しました 1回目 ^(\d{4}) を ;$1 2回目 \] を \], に置換 ヒントありがとうございました