2016-12-04 35 views
-1

私はしばらく何かを考えようとしてきましたが、私は理解できないようです。私はどこにでも見てきましたが、私はまだそれを見つけることができません。notepad ++特定の行で置き換えを停止する

私はAutoHotkeyを持つ自動補正のための辞書を作成しようとしていると私はと各行の先頭を交換する必要がある「::」と、どこか別の「::」そうのような と線との間で: ::togehter::together 今私はまだ「::」なしで追加するには約2万これらのを持っていると私がやっていることは交換してくださいテキストボックスに、このです:

Replace:^
With: :: 

今では最初の行のために正常に動作しますが、私は押した場合すべての原因を置き換えることはできません。私は20,000回のクリックをクリックするつもりです。それは、私がどこにいるのかだけでなく、始まりも置き換えます。だから、すべての行に新しい "::"が追加されました。

私が必要とするのは、1行ごとに行うのではなく、どの行で停止するかを伝えることができるようにすることです。

また、最初の:(間違った単語)の後に "::(単語)"を追加すると、大きな助けになります。

Image for reference

+0

、あなたの質問を編集して、いくつかのサンプル行と期待される結果を追加してください。 – Toto

+0

置換が必要な一連の行を新しいファイルバッファに貼り付けることができます。この新しいバッファでのみすべて置換を実行します。置換後、元のファイルに行のサブセットをコピー/貼り付けます。これは、行のサブセットが1つの連続ブロックである限り機能します。 –

+0

[どのようにして、選択したテキストをメモ帳++で検索/置換するか](http://stackoverflow.com/questions/5110666/how-do-you-perform-find-replace-in-selected-text-with) -notepad) –

答えて

0

私は正規表現を置き換える、すべてのことを^のをいくつかのテキストで、つまりメモ帳++の一部のバージョンでは動作しません、すべての行の先頭にテキストを追加することが分かってきました。これに対する私の回避策は、^(.)を検索文字列として使用し、置換えに\1を含めることでした。あなたの場合、交換は::\1になります。ここでの効果は、各行の最初の文字を::に最初の文字を加えたものに置き換えることです。メモ帳++ v7.1の簡単なテストでは、^::に置き換えてほしいと思った。

replace-allを実行する前に、「置換」ダイアログを2つ選択してください。(1)「正規表現」が選択され、(2)「選択中」が選択されていません。

入力の2つの単語がどのように分離されているのか不明な点があるので、使用する検索文字列は^(\w+)\h+で、置換文字列は::\1::です。

0

このAutoHotkeyスクリプトは、必要な処理を行う場合があります。 '::'で始まる変更されていない行を残して、 とし、他の文字の前に/置き換えます。元のテキストをクリップボードにコピーし、このスクリプトを実行して、目的のテキストをクリップボードに配置します。 (スクリプトを作成して実行するには、テキストエディタにコピーして貼り付け、myscriptname.ahkまたはmyscriptname.txtとして保存してから、そのファイルをAutoHotkey exeファイルにドラッグアンドドロップします。ファイルAHK、とAutoHotkeyをインストール、実行するために、ダブルクリックすることもできます。)AutoHotkey

vText := Clipboard 
vOutput := "" 
VarSetCapacity(vOutput, StrLen(vText)*2*2) 
StringReplace, vText, vText, `r`n, `n, All 
Loop, Parse, vText, `n 
{ 
vTemp := A_LoopField 

if (vTemp = "") 
if (1, vOutput .= "`r`n") 
continue 

if (SubStr(vTemp, 1, 2) = "::") 
if (1, vOutput .= vTemp "`r`n") 
continue 

StringReplace, vTemp, vTemp, %A_Space%, ::, All 
vOutput .= "::" vTemp "`r`n" 
} 
Clipboard := vOutput 
MsgBox done 
Return 
+0

このスクリプトはどの言語ですか?質問者はそれをどのように実行しますか?どのように彼らはそれを直接メモ帳から実行するでしょうか? – AdrianHHH

+0

公正な点は、質問者が 'AutoHotkey'に言及しましたが、はい、私は他人にとってより有用にするために私の答えを修正します。 – vafylec

関連する問題