概要
SequelProなどで検索した結果のIDなどをカンマ区切りの文字列にしたいこと、業務でよくあります。
僕はエディタはVSCodeを使っていますので、VSCodeを使ったやり方をメモ。
特別な方法ではないので、VSCodeの操作方法が分かっていればできることと思います。
やり方
SequelProの検索結果をコピーしてVSCodeに貼り付けると、以下のようなスペース区切りの文字列になります。
特定の列だけカンマ区切りの文字列にしたい場合があります。
// 例:これの最前列をカンマ区切りの文字列に変換したい
001 hoge fuga
002 hoge fuga
003 hoge fuga
004 hoge fuga
005 hoge fuga
-
変換したい列の一番上の文字の後ろにカーソルを合わせる。
-
同じ列の一番下の文字の後ろを、
command + option
を押しながらクリック。(マルチカーソル)
これで変換したい列の全ての文字の後ろにマルチカーソルがある状態になります。
※一番上か一番下か、カーソルを合わせる順番はどっちでも良い。 -
shift + command + →
で後ろ側の不要な列を全て選択し、delete
で削除。 -
↓
を一度押し、マルチカーソルが一番上の行には無い状態にする。
※これをやらないと先頭にもカンマが入る。
※5より先に(カーソルが文字の後ろ側にある状態で)やらないとマルチカーソルが変なとこまでに入ってしまい、6で一番後ろの文字まで消してしまう。 -
←
orcontrol + A
でカーソルを文字の先頭に移動。 -
delete
を押して改行が無い状態にし、,
を押す。 -
カンマ区切りの文字列になっている。
※もし真ん中の列をカンマ区切りにしたい場合は、1、2をやる前に同じ方法で消したい列の前側を消しておけば良いです。
実演GIF
上記だと手順が多いように見えますが、実際やるのは一瞬です。
あとがき
正規表現を使って改行をカンマに置換する方法もあるようですが、正規表現考えたりで結局手間かかるので、僕はいつもこの方法でやっています。
この方法だと途中の列をカンマ区切りにする場合も考えずにできるので。