0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

VScodeでソースコードの途中から一括で置換したい

Last updated at Posted at 2023-01-16

はじめに

VScodeでプログラムを修正する作業などがありますが、  
ソースコードすべてが同じわけではないけど、一部の箇所だけ、まとめて置換したいという時に
便利な方法です。

ルールに置換をかける

値で置換をかけるのがいつもの置換、ルールに置換をかけるのが正規表現による置換。

test1 = data(AAAAA).A
test1 = data(BBBBB).B
test1 = data(CCCCC).C

ここでは上記のような「data(XXXX)」部分を一括で置換したいとします。
置換機能で[.*][マークの正規表現を使用する]を押します。

変更したい箇所の共通部分を入力して.*を入れます。
.*には共通部分以降が選択されます。
\(バックスラッシュ)でどこまで置換したいか選択できます。

今回の場合
data.*\)と置換項目欄に入れて変更したい置換内容(今回だとdemo)を入力すると
data(XXXXX)部分がdemoに置換できます。

今回使用している正規表現の意味

  • 「.」(ピリオド)  は「改行以外の一文字」という正規表現で「あ」でも「a」でもなんでもいいのですが「.」ピリオド一つで1文字を表しています。
  • 「*」(コメ)は「その直前の文字が0回以上繰り返す」という正規表現で「テス*ト」と入れると「テト、テスト、テススススト」などが検索で引っかかります。
  • 「\」(バックスラッシュ)は直後の1文字をエスケープします。「(」(丸かっこ)など、正規表現が特別な認識をしてしまう文字に対してつけます。
    demo

いろんな正規表現置換

ゼロ埋め

「YYYY-M-D」を「YYYY-MM-DD」にゼロ埋めにする方法について説明します。
結構ややこしいです。

サンプルで以下のデータがあるとして進めて行きます。

sample
2022-10-23
2023-2-3

このデータの場合
0埋めを行うとすると-([0-9]+)で月と日を選択出来ます。
今回は日付が-(ハイフン)が区切りなので先頭をハイフンを付けてますが、使うケースで選んでください。

-0$1で一度、月と日のどっちも0を追加して埋めます。
image.png

-0*([0-9]{2,})で数字二桁以上で選択して-$1で二桁に整形し直します。
image.png

JSONフォーマットのキーのダブルクォーテーション除去

{"data": "abcd"}」のようなJSONフォーマットのキーのダブルクォーテーションの除去方法
以下のデータあるとします

sample
[{"mail": "test1@example.com"},
{"mail": "test2@example.com"},
{"mail": "test3@example.com"},
{"mail": "test4@example.com"},
{"mail": "test5@example.com"}]

"(.*)":でキー部分を指定できます。
$1:()で指定した所を変更できます。
image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?