// プレビュー画面で非表示にするコード

【作者向け】カクヨムのバックアップ(作品データ)テキストファイルから不要な項目/文字列を削除する正規表現

2019年3月5日

カクヨムの「小説情報」ページ下部にある「作品データをダウンロード」ボタンをクリックすると、各話のテキストファイルを固めたzipファイルを入手できる。

小説をバックアップする – カクヨムヘルプセンター

カクヨムの作品データをダウンロードできるボタンのスクショ

しかし、投稿日時やら文字数やら不要な情報が追記されている。
本文を推敲したあと、ダウンロードするたびに不要な文字列を取り除かなければならない。

エディタの正規表現をつかって一括削除したいと考えた。

カクヨムを便利にする正規表現(1)

【タイトル】([\s\S]*?))】

下記は、 カクヨムのエピソード1話分をエクスポートしたときにダウンロードできる作品データテキストの先頭部分。カクヨムのバックアップフォーマットに基づいた「不要な項目/文字列」です。

【タイトル】
ランチパック(メンチカツ) 1点

【公開状態】
公開済

【作成日時】
2019-02-05 18:20:35(+09:00)

【公開日時】
2019-02-05 18:42:57(+09:00)

【更新日時】
2019-02-12 10:13:53(+09:00)

【文字数】
898文字

【本文(27行)】

涼宮ハルヒのパンまつり2019春(忌川タツヤ) – カクヨム

先に紹介した正規表現で「文字列なし(なにも入力しない)」に置き換えれば、一括削除できます。

削除後に空行を残したくない

先に示した正規表現を実行すると、置き換えたあとに空行が残ってしまう。
つぎのとおりに置換コマンドを入力したら、うまくいった(改行コードがWindows対応のテキスト)。

【タイトル】([\s\S]*?))】\r\n

改行コードは、使用しているOSやエディタモードによって \r\n とか \n とか \r であったりします。うまく置き換えできるまで試してください。

正規表現で改行を表す記述 | UX MILK

さらに高い精度で一括削除できる正規表現を作ったら、随時更新します。