0

ここで本当に簡単な質問です。解決できません。

多くのディレクトリにまたがる多数のテキスト ファイルがあります。これらのディレクトリ内には、init.txt という名前のテキスト ファイルがあります。

これらの多くのテキスト ファイルには

Effective = 

私がする必要があるのは、その文字列を含む行を別の文字列に置き換えることです。できれば Notepad ++、または必要に応じて UltraEdit を使用してください。

Notepad ++では、ivが検索 - >ファイル内の置換...を見つけました。これにより、開始ディレクトリを指定できますが、行全体を新しい行に置き換えることはできません。

私はこれまで正規表現を使用したことがありません (これが最善の方法である場合)。

助けてくれてありがとう。

4

2 に答える 2

2

あなたの問題では、ごみの正規表現が大いに役立つかもしれません。私はほぼ毎日 Notepad++ で正規表現検索を使用していますが、これは非常に便利です。

複雑な正規表現の文法であなたを驚かせたくありません。代わりに、私の回答を読んだ後、正規表現の基本はそれほど風変わりなものではなく、一般の人々が日常的に使用するものであることがわかるかもしれません.

次の指示に従います。

  1. Notepad ++で を押してタブにCtrl-F切り替え、一部(ダイアログの下部にあります)を選択しますFind in FilesSerach modeRegular expression

  2. フィールドではFind what、ここに入力する必要がある内容は、置換するテキストの特定のパターンによって異なる場合があります。

    置換したいテキストフラグメントが常に

    • 行頭に現れ、
    • テキストの前に先行空白はありません。
    • =文字の前に正確に 1 つの SPCACE CHARACTER が含まれています

    ^Effective =Find whatフィールドのパターンとして使用する必要があります。

    ^記号は、行頭に^Effective =一致することを意味し (したがって、行Effectiv =の途中にある場合は無視されます)、残りは正確に一致する単語です。

    ただし、上記の条件がすべて満たされていない場合、たとえば

    • テキスト セグメントには先頭の空白が含まれる場合があります。
    • Effective単語と=記号の間の withspace の数は、 1 から無制限までさまざまです。

    このような状況では、 を使用する必要がある場合があります^Effective\s+=

    \s+部分は、^Effective\s+=1 つから無制限の数の空白 (スペース \0x20、タブ \t、改行 \r、および改行 \n を含む) に一致します。

    Effectiveとの間のゼロから無制限のスペースに一致させたい場合は=、に置き換えることができ\s+ます\s*

  3. Rplace withフィールドで、入力changeLine

  4. フィールドfiltersで、検索するファイルの種類を選択します

  5. 小切手In all sub-folders

  6. ボタンReplace in Filesをクリック

于 2013-06-25T03:08:17.650 に答える