4-6. 文字列を検索する&置換する
2021/5/19
検索時の「除外するファイル」についての説明を追記しました。
あと、
ルビ開始記号の「|」は、全角でも半角でも大丈夫なようです。
さっき試してみたらOKでした。
■文字列を検索する&置換する
この項では、
指定した文字列がテキストファイルのどこにあるか、検索する方法と、
その文字列を別の文字列へ置換する方法を説明します。
文字列の検索機能は、
「あの場面って、この小説のどこに書いたっけ?」というときによく使います。
例えば、主人公が初めてドラゴンを目の当たりにした場面を確認したいときは、
「ドラゴン」という文字列で検索し、ズラッと現れた候補の中から目的の場面を探します。
他にも、
執筆途中で言葉の誤用に気付き、他でもその誤用を使ってないか確認したいときとか、
同じ接続詞をどれくらいの間隔を空けて使っているか、見たいときとか、
あとは、ちょっとだけマニアックな使い方として、
「この漢字には、もうルビは振ったっけ?」というとき、全ファイルを「|漢字」で検索して確かめたり、
とにかく、色々な場面で使用します。
置換は、本稿の冒頭にも書きましたが、
小説内の「入り口」を全て「入口」へ変えたいとき等に使用します。
※
このあと、ショートカットキーによる操作がいくつか出てきます。
それらを覚えるのが面倒という方は、Windows10(の最近のビルド)に標準搭載されている「付箋アプリ」を立ち上げ、
そこにメモしておくと良いです。
付箋アプリの起動の仕方は、キーボードの Windows キー(キーボード左下と右下にある、Windows のロゴの入ったキー)を押し、
タイルを出してから、そのまま「付箋」と入力し、
タイルに表示された付箋アプリをクリックして起動させます。
この付箋は、出したままPCをシャットダウンさせると、
次回のPC起動時も自動的に立ち上がり、入力したメモを表示してくれます。
かなり便利です。
1.
開いているテキストファイル内で、指定した文字列を検索する。
まず、「テキスト1章1.txt」を開いてください。
やり方は、
VSCodeエクスプローラの「テキスト1章1.txt」をクリックです。
次に、検索窓を出すために Ctrl + F を押します。
Find の F と覚えるのが楽。
↓検索窓
現れた検索窓に、検索したい文字列を入力します。
ここでは「フォルダ」と入力してみてください。
すると、
「テキスト1章1.txt」内で「フォルダ」という文字列がある場所が、色付きでマークアップされます。
検索窓の右の方にある数字は、
「フォルダ」という文字列の見付かった個数と、今VSCodeのエディタで表示している(&選択している)「フォルダ」という文字列が全体のうちの何番目のものか、表しています。
その更に右にある「↑」や「↓」をクリックすると、
1コ前 or 1コ後の「フォルダ」の場所へジャンプします。
さっき説明した、「全体のうちの何番目か」の数値を確認しながら、「↑」や「↓」をクリックしてその動作を確かめてみてください。
※
1コ後 or 1コ前へのジャンプは、
それぞれ、F3キー や Shift + F3キーでも行なえます。
これらのキー操作は、ブラウザでWebページ内を単語検索した際のジャンプにも使用できます。
※
ちなみに、エディタで単語を選択した状態で Ctrl + F を押すと、
その選択した単語で直接検索できます(要するに、入力の手間が省ける)。
単語の選択は、
Shift キーを押しながら矢印キーを押していき、選択するのが楽です。
「→」や「←」で1文字ずつ、「↓」や「↑」で1行ずつ選べます。
行単位での選択は、検索ではあまり使いませんが、
その文章を Ctrl + X で切り取り、他の場所へ Ctrl + V で貼り付けて挿入する・・・といった操作でよく使います。
※
検索窓の左にある「>」をクリックすると、置換用の窓が現れます。
置換は、このあと説明します。
※
検索窓を閉じるには、右端のバツボタンをクリック or Escape キーを押します。
Escape キーは、普通のキーボードであれば左上にあるキーです。
2.
置換機能を使って、テキストファイル内の全ての「小説」をルビ付きの「小説」へ置換する。
「テキスト1章1.txt」内の文字列「小説」を選択します。
「小説」の選択は、キーボードで行なうと楽です。
Shiftキーを押しながら矢印キーの「→」を何回か押して選択します。
「小説」を選択したら、そのままCtrl + H を押します。
検索窓と置換窓が現れ、入力カーソルが置換窓に移ります。
※
先に Ctrl + H で置換窓を出してから、
文字列の「小説」をそこの入力窓に打ち込んでもOKです。
あと、
Ctrl + F で検索窓を出してから左端の「>」をクリックして、置換窓を出してもOKです。
ルビ開始記号の「|」を入力してから「小説」と打ち、
その後「《しょうせつ》」と入力する。
ルビ開始記号の「|」は、
Shiftキーを押しながら、Back Space の左隣のキー(¥マークのあるキー)を押し、
その後、半角にするため F10 キーを押してからエンターキーで変換確定。
これで入力できます。
↓ここで F10 を押す
※
変換時のショートカットキーは、
F10 での半角英数の他に、
F6で平仮名、F7で全角カナ、F8で半角カナ、F9で全角英数があります。
全角の「LED」を入力するとき等で重宝します。
ルビ開始記号の「|」に続いて「小説」を入力し、その後「《しょうせつ》」を入力します。
「《》」は、「かっこ」と入力してそれを変換して出します。
※
ちなみに、この「《》」は全角です。半角ではないです。
置換用の文字列が完成したら、エンターキーを押します。
そうすると、「小説」がルビ記号付きの「小説」に置換されます。
エンターキーを押すたびに、順番に置換されていきます。
途中で、「ここは置換したくないな・・・」という場所があったら、
エンターキーを押さずに F3 キーを押してください。
置換されずに次の「小説」へ移るので、再びそこからエンターキーで置換していきます。
※
全てを一括で置換するには、
Ctrl + Alt + エンターキーや、置換窓の右にある一括置換アイコンをクリックします。
これで、全ての文字列が一括置換されます。
ただ、この一括置換はあまりオススメしません。
例えば、小説内の全ての「私」を「僕」へ置換するとき、
それを一括で行なってしまうと、「私立高校」も「僕立高校」へ変換されてしまうからです。
面倒ですが、
置換は、エンターキーと F3 キー(行き過ぎたら、Shift + F3キー)で1コずつ確認しながら行なっていくことをオススメします。
3.
指定した文字列を全ファイルで検索する。
今度は、「小説」を複数のファイルで検索してみましょう。
VSCode 左端の、虫メガネのアイコンをクリックします。
サイドパネルに検索窓が現れます。
この検索窓に「小説」と入力すると、
「小説フォルダ」内にある全テキストファイルの全ての「小説」の場所がリストアップされます。
そのリストアップされた項のどれかをクリックすると、その場所が開かれます。
4.
指定した文字列を、指定した複数のファイルで検索する。
次に、
今度は「小説」を「テキスト1章1.txt」と「テキスト1章2.txt」だけで検索してみましょう。
検索窓の、ファイル指定窓を出します。
ファイル指定用の窓の出し方は、検索窓の右下の「…」をクリックします。
↓「…」をクリック
↓ファイル指定用の窓
この「含めるファイル」の窓で、どのファイルで検索するかを指定します。
現在は何も指定されていないので、VSCodeで開いた「小説フォルダ」の全ファイルで検索されてますが、
ここに、「テキスト1章*」と入力してください。
「*」を出すキーは、エンターキーの2つ左にあります。
Shift を押しながらそのキーを押し、F10 で半角にして入力してください。
↓ここで F10 キーを押して、「*」を半角にする
そうすると、
「小説」が「テキスト1章1.txt」と「テキスト1章2.txt」だけで検索されます。
リストアップされた項目をスクロールさせ、「メモ.txt」では検索されていないことを確かめてみてください。
※
この「*」は、日本語の「ホニャララ」みたいなものです。
「含めるファイル」に入力した「テキスト1章*」は、「テキスト1章ホニャララ」のファイルで探して・・・という意味です。
「テキスト2章1.txt」がある状態で、「含めるファイル」に「テキスト*」と入力すれば、
「テキスト1章1.txt」「テキスト1章2.txt」「テキスト2章1.txt」で文字列の「小説」が検索されます。
※
この「含めるファイル」の指定には、正規表現で行ないます。
指定をもっと細かくしたい場合はその正規表現を使って行なうのですが、
小説の執筆においては、「*」だけで事足りると思います。
※
「除外するファイル」を指定すると、そのファイルは検索対象から除外されます。
例えば、
編集前のオリジナルのテキストファイルを「テキスト_org.txt」で残していて、
それらのファイルを検索対象に含めたくないときは、
この「除外するファイル」の欄に「*org*」と入力すると良いです。
※
再びエクスプローラを出したいときは、VSCode左端のファイルアイコンをクリックします。




