Notepad ++ですべての文字列を各文字列に含まれる数値に置き換える方法は?


108

私は次のパターンですべての値を見つけようとしています:

value="4"
value="403"
value="200"
value="201"
value="116"
value="15"

スコープ内の値に置き換えます。

次の正規表現を使用してパターンを見つけています:

.*"\d+"

どうすれば交換できますか?


2
交換部品は何ですか?例を挙げていただけますか?
2013年

^。* value = "([^"] *) "。* $この正規表現を確認し、必要な場所で値\ 1を置き換えます
Nikhil KS

回答:


191

Notepad ++で置換するには、Ctrl+ Hを押して[置換]メニューを開きます。

次に、[正規表現]ボタンをオンにして、一致するパターンの一部を使用する場合は、[キャプチャグループ]を使用する必要があります(googleで詳細をご覧ください)。たとえば、次の各行を照合するとします。

value="4"
value="403"
value="200"
value="201"
value="116"
value="15"

.*"\d+"パターンを使用して、番号のみを保持したい。その後、括弧を使用して、あなたのマッチングパターンでキャプチャグループを使用することができます(し、)そのように、: .*"(\d+)"。したがって、置換で、次のように簡単に書くことができます$1。$ 1は、最初のキャプチャグループの値を参照し、成功した各一致の数を返します。あなたは2つのキャプチャグループを持っていた場合、例えば(.*)="(\d+)"$1文字列を返しますvalueし、$2番号を返します。

したがって、次のように使用します。

検索: .*"(\d+)"

交換: $1

それはあなたを返します

4
403
200
201
116
15

前述のパターンに一致させるには、多くの代替的でより良い方法があることに注意してください。たとえば、パターンvalue="([0-9]+)"はより具体的であり、これらの行にのみ一致することが確実になるため、パターンの方が優れています。キャプチャグループを使用せずに置換することも可能ですが、これは少し高度なトピックなので、ここではそのままにしておきます。


19
交換については$1、私にはうまくいきませんでした。\1代わりに使用しましたが、うまくいきました。
Jason Wheeler

12
\1Notepad ++のすべてのバージョンで動作します。 $1新しいものでのみ動作します。
Cullub 2014

これはHex Editorプラグインでは機能しないと思います。16進表示モードでは、Notepad ++はRegular Expression検索/置換のオプションを表示しません。テキストビューモードではRegular Expression、検索/置換のオプションが表示されます。現在、Notepad ++バージョン6.9.2を使用しています。これは現在のバージョンです。
Kevin Fegan

15

psxlsは素晴らしい答えを出しましたが、私のNotepad ++バージョンは少し異なると思いますので、$(ドル記号)のキャプチャは機能しませんでした。

私はNotepad ++ v.5.9.3を持っていますが、これがタスクを実行する方法です。

次のパターンを検索します:value = \ "([0-9] *)\" そして次のように置き換えます:\ 1(そのキャプチャグループの周りに何をしたいか)

例 角括弧で囲む

[\ 1]-> はvalue = "[4]"を生成します


1
\1番号を保持するのに役立ちましたが、その背後にある引用を削除しました。のようなドキュメントに約7400行ありましたtablename.columnname = '12345'。最初の引用は簡単に削除でき、2番目の引用は\1置換テキストボックスのを使用して行われました。よろしく
お願いいたし

6

交換する (.*")\d+(")

$1x$2

x「スコープ内の値」はどこにありますか。



-3

検索: value="([\d]+|[\d])"

交換: \1

それは本当にあなたを返します

4
403
200
201
116
15

js:

a='value="4"\nvalue="403"\nvalue="200"\nvalue="201"\nvalue="116"\nvalue="15"';
a = a.replace(/value="([\d]+|[\d])"/g, '$1');
console.log(a);

3
このJavaScriptソリューションは、Notepad ++でタグ付けされた質問とどのように関連していますか?
Jason Aller 2014年

障害のある壊れた応答1と2は、Notepad ++でタグ付けされた質問にどのように関係するのでしょうか?
user3178007 2014年

なぜここで質問したのですか?質問が作成できないからです。評判が足りないから。
user3178007 2014年

1
あなたが主張するような質問をすることに対するそのような評判要件はありません-あなたおそらく制限されていなかったでしょう。もう一度お試しください:stackoverflow.com/questions/ask
BoltClock

質問されました。stackoverflow.com/questions/24112018/…しかし、検索する単語に制限があります。限定です!
user3178007 14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.