PsyLab-LAN FAQ集

文字列置換の方法

10/29/2002

CSVファイル(カンマ区切り)をスペース区切りに直してSASに読み込ませたり、男女と入力したデータを12の数字に変換するためには文字列の置換が必要です。

emacs上で文字列を置換するには以下のように行ないます。

  1. 置換を開始する位置にカーソルを移動し、M-% を入力します。
  2. ミニバッファにQuery replace: と表示されるので、置換前の文字列を入力します。
  3. ミニバッファにQuery replace (入力した文字列) with :
    と表示されるので、置換後の文字列を入力します。
  4. 置換前の文字列と一致する部分に自動的にカーソルが移動し、
    ミニバッファにQuery replacing (置換前の文字列) with (置換後の文字列) :(? for help)
    と表示されるので、置換したい場合は y を、置換したくない場合は n を入力します。
  5. 文字が置換され、次の文字列に自動的にカーソルが移動します。
  6. 再び置換するかどうか表示されるので y or n を入力します。
  7. これがファイルの末尾までくり返されます。
いちいち確認せずに一気に置換したい場合は以下のように行います。
  1. 置換を開始する位置にカーソルを移動し、M-x replace-string を入力します。
  2. ミニバッファにQuery replace: と表示されるので、置換前の文字列を入力します。
  3. ミニバッファにQuery replace (入力した文字列) with :
    と表示されるので、置換後の文字列を入力します。
  4. ファイルの末尾まで自動的に文字列が置換されます。

置換後の文字列に何も入力しないでenterを押すと、置換前の文字列が削除されます。置換はカーソル以降の部分に対して行われます。ファイルの末尾にカーソルがあるとき置換の操作をしても何もしてくれません。<\p>

途中でやめたいときは C-g を、置換前の状態に戻したい時はC-x u を入力します。

うまく使いわけると作業の効率がアップします。