2017-05-27 10 views
0

のWindows 10(64ビット)は、Emacs 25.1Emacs。どのようにすべてのテキストに「some_text/XXX」が他のテキストから含まれているか

と仮定私が持っているテキスト:私は"API/XXX"

XXXが含まれているすべてのテキストをカットする

aa11aaa aaaaa "api/method1" bbbbbbb 
dddeeee ee "api/method2" ddddddd 
ee2222ezzzzzzzzzzzzzzzzzz "api/method1" eeeeeee 
aaaaaaa222222222222"api/method3" fffffff 
xwwwwxx "api/method4" bbbbbbb 

はメソッド名(例:メソッド4

です。だから、結果がでなければなりません:

aa11aaa aaaaa bbbbbbb dddeeee ee ddddddd ee2222ezzzzzzzzzzzzzzzzzz eeeeeee aaaaaaa222222222222 fffffff xwwwwxx bbbbbbb

私は(カスタムelispのスクリプトやEmacsのマクロを記述せず)のEmacsの組み込み機能を使用したいです。

答えて

0

何をその文字列の検索とが空の文字列(文字なし)で置き換えている:あなたは検索と置換を開始したいカーソルで

、この操作を行います。

M-x replace-string RET api/XXX RET RET 

正規表現に一致する必要がある場合は、コマンドreplace-regexpを代わりに使用してください。あなたが個別にヒット各検索をチェックして、それを交換するかどうかをEmacsに伝えたい場合

あるいは、使用query-replaceM-%)またはquery-replace-regexpC-M-%)。現在位置から前方への置換を行うために照会されると!を押すことができます。

C-h fを使用し、コマンド名を入力すると、そのコマンドの詳細が表示されます。例えば、C-h f replace-stringがわかります:

replace-stringreplace.elでインタラクティブコンパイルLisp関数です。

(replace-string FROM-STRING TO-STRING &optional DELIMITED START END BACKWARD) 

この機能は対話的に使用するためのものです。 Lispコードの は代わりにsearch-forwardreplace-matchを使用してください。

の出現をTO-STRINGに置き換えます。 case-replacecase-fold-searchnil非あり、はない大文字を持たない場合

各マッチ場合を保持します。 (ケースを保存する文字列が一致した場合はすべて大文字、または大文字、 はその交換がupcased又は大文字であることを意味する。)

読み取り専用query-replace-skip-read-onlyが非nilある場合search-invisibleである場合 隠しマッチを無視し、一致無視nil、それ以上を無視する はisearch-filter-predicateを使用して一致します。

replace-lax-whitespaceが非nilある場合、置換される文字列 における空間又はスペースはsearch-whitespace-regexpに 正規表現によって定義された空白文字のシーケンスと一致します。

replace-char-foldが非nilの場合、マッチングは文字の折りたたみを使用して、 すなわちそれは発音区別符号と同等の 文字列間の他の違いを無視します。

第3引数がDELIMITED(対話型の場合は接頭引数)で、nil以外の場合は、単語境界で囲まれた一致のみを置き換えます。負の接頭辞argは、 を後方に置き換えることを意味します。 (両方ともnilある場合ポイント からバッファの終わりに、)

STARTEND間の領域で動作します。対話的に、トランジェント・マーク・モードが であり、マークがアクティブである場合、領域の内容に作用する。そうでない場合は、バッファのアクセス可能部分の端から端にかけて。

M-nを使用して、最後のインクリメンタル検索文字列をというミニバッファー にプルします。

この関数は、通常、Lispプログラムで使うのに間違ったものです。より速く実行され、マークを設定したり、何も印刷されません

(while (search-forward FROM-STRING nil t) 
    (replace-match TO-STRING nil t)) 

:あなたはおそらく欲しい

は、このようなループです。 は(がヌル文字列 を一致させることができますし、TO-STRINGもnullである場合は、より複雑なループが必要な場合があります。)

関連する問題