2017-08-12 11 views
0

私は、ばかげたタイトルを知っています。ここで私は何をする必要があるかです:Emacs:複数の操作で文字列を変換する

は次のようになり、文字列ます:

* [1.1 Training]() 
* [1.1.1 Special Training by Category]() 
    * [A. New Hire Orientation Program]() 

をそして、このように、括弧内の各と場所結果に.mdサフィックスを追加します。

* [1.1 Training](training.md) 
* [1.1.1 Special Training by Category](special_training_by_category.md) 
    * [A. New Hire Orientation Program](new_hire_orientation_program.md) 

私は」 Emacsを使用して、マクロを必要とする:

  1. 各文字列(行)を検索する
  2. コピーチャプター番号、チャプターの手紙、または期間後にすべてのもの、そして閉じる前に「]」
  3. 結果に「た.md」を追加し、小文字、スペースを削除して、アンダースコア
  4. とそれらを置き換えるために、それを変換
  5. 括弧

  • 貼り付けた結果、私は正規表現と文字列操作を習得しようとしているが、これはかなり関わっようです。どんな助けもありがとうございます。あなたがこれを実行する必要がどのくらいの頻度に応じて、

    おかげ

  • 答えて

    1

    は、あなたはそれのためのコマンドを記述することもできます。しかし、query-replace-regexpC-M-%)で正規表現\[\([[:alnum:].]+\) \([[:alnum:] ]+\)\]()と置き換えて[\1 \2](\,(replace-regexp-in-string " " "_" (downcase \2)).md)とすることができます。 \,に注目してください:elispを使って文字列を変換することができます。

    リンク:私はあなたが投稿答えを読むことを学ぶことができます

    +0

    ?私はこれを一度コピーして遊びますが、私はそれを解読して他の場所にロジックを適用したいと思います。 ( "男に魚を与え、あなたは一度食べる、魚を釣るには生涯食べる"タイプのもの) – SeaDude

    +0

    すべてを説明するリンクをいくつか追加しました。 – jpkotta

    +0

    フィッシング機能を強化するには、Emacsの 'C-h i g(elisp)Regular Expressions '内のマニュアルを読み、検索してください。情報リーダーの使い方を学ぶ必要があるかもしれません: '* info *'バッファからチュートリアルを始めるのに 'h'と打ち込み、トップレベルのページに戻る' d'を入力することができます。上)。 – phils

    関連する問題