以下のような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
とマッチさせることができます。
同じような機会はないとはそうそう思いますが、一応メモしておきます。