正規表現で置き換え

2022-11-29

PC srt テキストエディタ 字幕 正規表現

t f B! P L

テキストエディタで字幕ファイル(.srt)を編集していて、ひとつ学んだのでメモ。


whisperで音声認識をした際、疑問形の最後に「?」を結構きちんと入れてくれる。

(まぁランダムではあるのだが)

ただこの「?」、半角なのである。

字幕的には少しでも横に伸びない方がいいから

「?」が半角であること自体には問題はないのだが


   これは1文目?それが2文目?じゃああれは?


このように複数の短い文が1行で表示された場合、私は気になるんである。

「?」の後にスペースが入っていないことが。


私としては、こうあってほしい。


   これは1文目? それが2文目? じゃああれは?


こういう細かい体裁にこだわってしまうのは私の悪い癖である。

でも気になるものはしょうがない。


すぐに思い付いた。

テキストエディタで「?」を「? 」に置き換えればいいじゃん。と。

そう、それが一番カンタンだ。

だがその方法にもひとつ問題がある。

改行の前の「?」の後には半角スペースを入れてほしくないのだ。

(上の例文で言うと、「じゃああれは?」の後。ここに半角スペースを入れてほしくない。)

半角「?」を全部全角の「?」にする方法も考えたが、

やはり少しでも文字数は少ない方がいいので半角で統一することにした。


まとめると、


  • ?の後に半角スペースを入れたい
  • ただし、改行直前の?はそのままにしたい

ということになる。


これは正規表現の出番だろう、と色々な正規表現解説ページを見て最初にやってみたのがこれ。


   置換前:\?\S

   置換後:\? \S


細かい説明は省くが、「\?」は「半角?」、「\S」は「すべての非空白文字」をあらわす。

シロウト目にはこれで私の思い通りの置き換えができるだろう、と思えた。

だがしかしこれで置き換えを行うと、こうなる。


   これは1文目? Sれが2文目? Sゃああれは?


一文字目が「S」に。

私としては半角スペースを「挿入」して欲しかったのだが、「置換」されてしまったのだ。

(なんでこれで1文字目がSになってしまうのか、未だによく分からない。)


そこから色々なページを参照し試行錯誤を繰り返し、

いっときは諦めて全ての半角?のあとに半角スペースを挿入してから

改行前の半角スペースを削除したりしていたのだが

(こっちの方は楽にできた)

そんな二度手間ではなく、一回の置き換えで挿入可能な魔法の正規表現を見つけた。


   置換前:(\?)(\S)

   置換後:\1 \2


うわーめっちゃシンプル。

半角()でグループ化できる、ということだ。

\1 はひとつ目のグループ、\2 はふたつ目のグループ、を指す。

ひとつ目のグループと、ふたつ目のグループの間に半角スペースを入れる、ということである。


ちなみに参考にさせていただいたのは以下


正規表現サンプル集 - megasoft.co.jp


試したら以下でもいけた。


   置換前:\?(\S)

   置換後:\? \1


正規表現、奥深い世界である。


追記:2023年3月2日

さらにバージョンアップしたものを記事にした。

字幕作成に役立つかも知れない正規表現 その1.


whisper、字幕ファイルに関する記事はこちら


AIで音声認識「whisper」を試したい その1.

AIで音声認識「whisper」を試したい その2.

whisperで作成した字幕を編集

whisper→Subtitle Edit→DeepL翻訳

whisperの ちょうどいい 精度



最終更新:2023年3月2日
投稿日:2022年11月29日
初出:2022年11月17日

このブログを検索

ブログ アーカイブ

ラベル

スマホ (81) ゲーム (78) ポケモンスリープ (69) Pokemon Sleep (68) 睡眠 (68) PC (63) おなかのうえ寝 (36) 生活 (18) 色違いポケモン (18) Blogger (9) Googleドキュメント (8) Googleスプレッドシート (7) MiBand (7) srt (7) スマートウォッチ (7) 字幕 (7) whisper (6) グッドスリープデー (6) AI (5) Aviutl (5) GIMP (5) HTML (5) SubtitleEdit (5) テキストエディタ (5) マウス (5) 日本語 (5) 素人 (5) 音声認識 (5) CSS (4) DeepL (4) Logicool (4) M705 (4) 正規表現 (4) Excel (3) Pokémon GO Plus + (3) Wordle (3) exo2srt_srt2exo (3) ゴープラプラ (3) ハラビロカマキリ (3) フォント (3) ワークアウト (3) 健康 (3) (3) (3) 3DS (2) DH5 (2) DH7 (2) Googleドライブ (2) PS3 (2) PSVita (2) Switch (2) YouTube (2) csv (2) openAI (2) vtt (2) あつ森 (2) イタリック体 (2) エンテイリサーチ (2) ガスコンロ (2) スイクンリサーチイベント (2) トイレ (2) トイレつまり (2) バーナーキャップ (2) マイクアーム (2) マイクスタンド (2) メイリオ (2) モニタ (2) ライコウリサーチ (2) ラバーカップ (2) リンナイ (2) 戦歴 (2) 東京ガス (2) 機器設定パスワード (2) 漢字 (2) 漢字ル (2) 特殊文字 (2) 知識 (2) 色違い (2) 言葉 (2) 言葉で遊ぼう (2) 電池 (2) 100均 (1) ASCII文字 (1) Alexa (1) Android (1) AutoHideMouseCursor (1) Bluetooth (1) DesktopOK (1) Docs to Markdown (1) EchoDot (1) FLOOR (1) Fitbit (1) Gmail (1) Googleカレンダー (1) Googleフォト (1) Googleワン (1) Gメン75 (1) HERO (1) HYPERLINK (1) HeTeMuLu Creator (1) MROUND (1) PAI (1) PIXLR (1) PNG出力 (1) RX10Elements (1) Roycel (1) TODAY (1) TV (1) USB-DAC (1) Unicode (1) Unicode文字 (1) Windows11 (1) iPad (1) iZotope (1) radiko (1) srt2exo.bat (1) table (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) ゴープラプラ、Pokemon GO (1) サマーフェスティバル (1) ショックマウント (1) ショートカットキー (1) シリコン樹脂 (1) スナックエンドウ (1) スナップエンドウ (1) スピーカー (1) スマートアラーム (1) セメダイン (1) ソシャゲ (1) ソリティアファームビレッジ (1) タグ (1) タスクバー (1) ダイソー (1) ダブルゆめのかけらリサーチ (1) ダブルクォーテーション (1) テキスト (1) トマトジュース (1) ドッキング (1) ドリカム (1) ニンテンドーSwitch (1) ハロウィン (1) ハートマーク (1) バッチファイル (1) パススルー出力 (1) パッコンバー (1) フォントサイズ (1) フリーセル (1) ボタン (1) ポケモンGO (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) 自動バックアップ (1) 薬飲み忘れ防止 (1) 行選択 (1) 表示形式 (1) 西川貴教 (1) 解決済み (1) 認証システム (1) 辞書 (1) 逆転検事 (1) 逆転裁判 (1) 部分フィルタ (1) 録音 (1) 長押し (1) 靴下 (1) 音声 (1) 麦茶 (1)

Translate

QooQ