0

例: 私のレガシー コードでは、多くのテンプレートが使用されています。しかし、コード ベースをリファクタリングして、テンプレートの使用を基本クラスだけに制限しました。次に、問題が発生します。変更するための高速な方法はありますか (おそらく検索と置換を使用します):

" SomeTemplate<some_var>" だけに "some_var" ?

どうもありがとう!

4

1 に答える 1

0

検索と置換で、展開Find OptionsしてチェックマークUse Regular Expressionsを付けてから置換します。

SomeTemplate\<{:i}\>

\1

{}グループにタグを付け、:iC++ 識別子と一致します。は\1、最初のタグ付きグループを参照します。

編集:名前空間もある場合は、より複雑な正規表現が必要になります。名前空間が 1 レベルしかないことがわかっている場合、おそらく最も簡単なのは、2 番目のパスを実行して置換することです。

SomeTemplate\<{:i}\:\:{:i}\>

\1::\2

「:」、「<」、「>」は正規表現では特別な意味を持つため、バックスラッシュでエスケープする必要があることに注意してください。

于 2012-08-13T09:31:18.333 に答える