web-dev-qa-db-ja.com

崇高なテキスト検索任意の文字を置き換える

任意の文字をその場所に配置できるようにする特殊文字を使用して検索および置換する方法はありますか?

これが意味するのは、次のテキストがあるということです。

setI0100(mds3a1.getI0100().toString());
setI0200(mds3a1.getI0200().toString());
setI0300(mds3a1.getI0300().toString());
setI0400(mds3a1.getI0400().toString());
setI0500(mds3a1.getI0500().toString());
setI0600(mds3a1.getI0600().toString());
setI0700(mds3a1.getI0700().toString());
setI0800(mds3a1.getI0800().toString());
setI0900(mds3a1.getI0900().toString());
setI1100(mds3a1.getI1100().toString());
setI1200(mds3a1.getI1200().toString());
setI1300(mds3a1.getI1300().toString());

(mds3a1.getI ***()。toString());のようなものを使用して置き換えたいと思いました。上記のすべての行の末尾を最初の(。

*は任意の文字と等しくなります。上記のすべての行の末尾は、必ずしもすべて同じである必要はありませんが、置き換えることができます。 1行は次のようになります。

Before:
    setI0100(mds3a1.getI0100().toString());
After:
    setI0100

他のプログラムでも同様の機能を見てきましたが、この動作のWordが何であるか正確にはわかりません。

EDIT:@ DavidPostillが以下に指摘しているように、私は正規表現を探していました。

私がやりたかったことをするために、私は次のことになりました:

find: (\(mds3a1.getJ)....+(().toString\(\)\);)
replace: 

これにより、各行のテキストが最初の(

崇高なテキストで正規表現を使用しようとしている人にとって、ここは私が見つけた良いリソースです。 https://github.com/dmikalova/sublime-cheat-sheets/blob/master/cheat-sheets/Regular%20Expressions.cheatsheet

2
Charles S

MattDMoの答えは、望ましい結果を得るための正しいパターンではないようです。よりエレガントなソリューションのために私がしたことは次のとおりです。

Sublime Text2を開く

ブロックを貼り付けます:

setI0100(mds3a1.getI0100().toString());
setI0200(mds3a1.getI0200().toString());
setI0300(mds3a1.getI0300().toString());
setI0400(mds3a1.getI0400().toString());
setI0500(mds3a1.getI0500().toString());
setI0600(mds3a1.getI0600().toString());
setI0700(mds3a1.getI0700().toString());
setI0800(mds3a1.getI0800().toString());
setI0900(mds3a1.getI0900().toString());
setI1100(mds3a1.getI1100().toString());
setI1200(mds3a1.getI1200().toString());
setI1300(mds3a1.getI1300().toString());

検索>置換(CTRL+H

正規表現を有効にするボタン(Alt+R

何を見つける:\(.*

置換:[ここに文字はありません]

[すべて置換]を押します

完了

結果はあなたが求めていたものです:

Before:
    setI0100(mds3a1.getI0100().toString());
After:
    setI0100

正規表現の内訳:

\((文字と一致してエスケープします。

.任意の1文字に一致します。

*前の文字と0回以上一致します。

1
projectdp

[検索]ダイアログで正規表現検索をオンにし、次のパターンを使用します。

^(.*?)(?=\()

これは行の先頭から始まります(^)次に、任意の文字をキャプチャします((.*?))キャプチャされていない前向きな先読みまで((?=\())。

1
MattDMo