Libre Office Calcで正規表現と一括置換を使って、末尾数字の後ろに文字列を付与する

以下のようなcsvのデータがあるとします。
ID,PASSWORD
Hoge01-01,PASSWORD
Hoge01-02,PASSWORD
Hoge01-03,PASSWORD
...,...
このデータに、急遽末尾に文字列を追加することになしました。
ID,PASSWORD
Hoge01-01C,PASSWORD
Hoge01-02C,PASSWORD
Hoge01-03C,PASSWORD
...,...
各IDに対してHoge01-XXCと、最後に「C」がくっついた形にしたい、と。 これをLibre Officeで処理したい。なお環境としては6.2.2.2 (x64)を想定。 セルの右下にカーソルを合わせて十字になったところでドラッグすると、連番のデータを作ることができるというのは方法として存在しますね。 Excelだと、Hoge01-01Cの形にした後にドラッグすると、きちんとHoge01-02C, Hoge01-03Cと連番データが作成できます。 しかし、Libre Officeはさすがにそこまではできないようで、Hoge01-01Cのコピーが大量に作成されてしまいました。 オープンソースですし、致し方なし。 とはいえ、この修正を手作業でやるのは非効率的です。どうにかならないものか。 色々試した結果、丸括弧の中のパターンを$1で再利用するという、プログラムではわりとよくやる手法でできることが分かりました。 マッチさせたい条件は正規表現で Hoge01-([\d]{2}) という形にし、置換後のパターンを Hoge01-$1C と指定します。 これで丸括弧の中の [\d]{2}$1に展開されるため、Hoge01-01C, Hoge01-02C, Hoge01-03Cとマッチさせることができます。 同じような機会はないとはそうそう思いますが、一応メモしておきます。

この記事を書いた人

アバター

アルム=バンド

フロントエンド・バックエンド・サーバエンジニア。LAMPやNodeからWP、Gulpを使ってejs,Scss,JSのコーディングまで一通り。たまにRasPiで遊んだり、趣味で開発したり。