Notepad ++で^と〜の間のテキストを検索して置換


22

^記号と〜記号の間のすべてのテキストを削除する大きなテキストファイルがあります。これも複数の回線で機能する必要があります。

^*~[検索]ボックスで[置換]ボックスに何も使用せずに、通常の[検索と置換]を実行しようとしましたが、結果が0でした。

回答:


23

これは、通常の検索と置換では不可能です。Notepad ++ 6を使用する場合、PCREsource)をサポートする新しい正規表現エンジンを利用できます。

[ Ctrl+] Hを押して[ 検索と置換 ]ダイアログを開き、次のアクションを実行します。

Find what:          \^.*?~
Replace with:       
Wrap around:        checked
Regular expression: selected
. matches newline:  checked

次に、Alt+ Aを押してすべての出現箇所を置き換えます。

Find whatの正規表現は次のように構成されます。

  • \^リテラル^です。
  • .*? は、正規表現が一致できる最小文字数です。
  • ~はリテラルのです。

3
。*?〜を[^〜] *〜に変更すると、PCREを必要とせずに機能するはずです。
-barlop

1
私が取った:@barlop 定期的な検索をし、取り替え検索モード:ノーマル、ない検索と置換正規表現を使用しました。それは誤解だったかもしれません。いずれにしても、正しく覚えていれば、6より前のバージョンは複数行パターンをサポートしていませんでした。
デニス

この.*?パターンは、;との文字間を検索するのに役立ちました<。したがって、検索は、次のオプションが選択されたFIND ;.*?<REPLACE ;でありRegular expression. matches new line
SherlockSpreadsheets

8

あなたが探し\^.*?~て確かめるつもりです。一致する改行が有効になります

ここに画像の説明を入力してください

これは^、特別な意味を持ち、行の先頭に一致するためです。したがって、バックスラッシュでエスケープする必要があります\^

書き込み^*は、「行の任意の数の行頭」に一致します。.*「任意の文字」に一致しますが、デフォルトでは改行に一致しません。


2
正規表現の貪欲な振る舞いに注意してください。複数の~文字(または複数の一致)がある場合、これは最初^から最後まで一致し~ます。
ヘビー

@heavyd <question>本当によろしいですか</ question>。彼は*?貪欲ではなく、怠zyなもの.*?~は複数に一致しないことを使用してい ~ます。大丈夫です。
-barlop

@barlop:私が答えた直後に彼はコメントしました。それは忍者編集でした。
デアホッホステープラー

2

検索セクションでこの正規表現を使用し\^[^~]*~ て、^と〜の間のすべてを包括的に置き換えてみてください。


そして排他的に、それはPCREを必要とすると仮定し、次に何かをします(?<= ^)[^〜] *(?=〜)それをテストするためのn ++を持っていませんが、それが変更を試みて失敗した場合(?<= ^ )から(?<= \ ^)
barlop

排他的に、単にに置き換えてください^~
デニス

@Dennis ^と〜の間のすべてを置き換えたいが、^と〜を含まない場合
-barlop

1
あなたが交換した場合、あなたは何を得るされていないということ\^[^~]*~^~
デニス

@デニスああ、あなたの言っていることがわかります、良い点です。
-barlop

0

開始文字と終了文字で同様のBETWEEN置換要件がありました。これはOutlookの電子メールから来ました。メンバーの群衆と私は<RemoveTextHereの間にすべてが削除された人の名前が欲しかった>

元の

First1 Last1 <First1.Last1@email.com>; First2 Last2 <First2.Last2@email.com>; First3 Last3 <First3.Last3@email.com>; First4 Last4 <First4.Last4@email.com>;

デニスは私の解決策に近かったFind what: \^.*?~が、文字通りの文字を変更しなければならなかったのでFind what: \<.*?>、最初のスラッシュを削除しなければならなかったFind what: <.*?>

更新 Find what: <.*?> ; 空に交換します。

First1 Last1 ; First2 Last2 ; First3 Last3 ; First4 Last4

_

特殊文字*$\+^()[]{および}

Jerry Jeremiahによる特殊文字については、https: //stackoverflow.com/questions/37742519/notepad-wildcardで説明しています


それは質問に答えません。
トト
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.