VSCodeの置換で 保持する の使い方がよくわからない… ので、調べてみた

スポンサーリンク


Visural Studio Codeで置換をするとき、(置換ボックスの右端にあるABアイコンの)保持する の使い方が、よくわからなかったので、調べてみました。

もうすっかりプログラミングから離れてしまったので、プログラミングでの使いどころを現在の私ではみつけられませんでしたが、、、

Markdownなどで、英語の文章で、単語の先頭を大文字にしているときなどに使えそうです。

今日は、その報告です。

なお、検索オプションでは、[大文字小文字を区別しない] にしています。

公式サイトの説明

公式サイトには、保持する の説明があります。

https://code.visualstudio.com/updates/v1_38#_preserve-case-in-search-and-replace

たとえば、foo-barを検索し、 [保持する]をONにして、blim-blam に置換すると、以下のようになるとあります

  • Foo-Bar → Blim-Blam
  • foo-bar → blim-blam
  • FOO-BAR → BLIM-BLAM

なんとなくわかるけど、法則がいまいちわからない…

保持する の法則

で、ちょっと検証してみると[保持する]は、以下の法則であることがわかりました。

  • すべて小文字の文字列であれば、すべて小文字
  • すべて大文字の文字列であれば、すべて大文字
  • 先頭が大文字 かつ 2番目以降は大文字小文字が混在する文字列であれば、先頭が大文字 かつ 2番目以降は小文字
  • 先頭が小文字 かつ 2番目以降は大文字小文字が混在する文字列であれば、すべて小文字

たとえば、abcを検索し、 [保持する]をON にして、xyz に置換すると、以下のようになります。

これが置換前で、

これが置換後

  • abc → xyz
  • ABC → XYZ
  • Abc → Xyz
  • ABc → Xyz
  • aBC → xyz
  • aBc → xyz

太字部分があると、なかなか使いどころが難しい。

ちなみに、abcを検索し、 [保持する]をOFF にして、xyz に置換すると、以下のようになります。

  • abc → xyz
  • ABC → xyz
  • Abc → xyz
  • ABc → xyz
  • aBC → xyz
  • aBc → xyz

まぁ、フツーか、、、

yesterday を today に置換して、使い方を調べてみた

ということで、yesterday を today に置換する時、[保持する]ON / OFF でそれぞれどうなるかで、使い方を調べることにしました。

(どんな時に使えるかなぁ? とパッと思いついたのが、これでした💦 もっといいのがあるかも…)

では、保持する ON / OFF の順で検証していきます。

保持する ON の場合

yesterdayを検索し、 [保持する]をON にして、today に置換すると、以下のようになります。

これが置換前で、

これが置換後

  • yesterday → today
  • YESTERDAY → TODAY
  • Yesterday → Today
  • YesterDay → Today

YesterDayの場合は予期せぬ置換となってしまいそう…

保持する OFF の場合

yesterdayを検索し、 [保持する]をOFF にして、today に置換すると、以下のようになります。

  • yesterday → today
  • YESTERDAY → today
  • Yesterday → today
  • YesterDay → today

まぁ、そりゃそうだ。

まとめ

というわけで、置換で [保持する] を使うと以下の法則になります。

  • すべて小文字の文字列であれば、すべて小文字
  • すべて大文字の文字列であれば、すべて大文字
  • 先頭が大文字 かつ 2番目以降は大文字小文字が混在する文字列であれば、先頭が大文字 かつ 2番目以降は小文字
  • 先頭が小文字 かつ 2番目以降は大文字小文字が混在する文字列であれば、すべて小文字

具体的には、yesterdayを検索し、 [保持する]をON にして、today に置換すると、以下のようになります。

これが置換前で、

これが置換後

  • yesterday → today
  • YESTERDAY → TODAY
  • Yesterday → Today
  • YesterDay → Today

もうすっかりプログラミングから離れてしまったので、プログラミングでの使いどころを現在の私ではみつけられませんが、、、

Markdownなどで、英語の文章で、単語の先頭を大文字にしているときなどに使えそうです。

ちなみに、一般の英語では単語の先頭を大文字にすることを「Capitalize」と言うそうです。

コメント

タイトルとURLをコピーしました