テキストがたくさんあるので、すべての行の最初の 4 文字を削除し、すべての行の先頭に文字を挿入したいと考えています。
Notepad++ を使用してこれを実行するにはどうすればよいですか?
答え1
検索 -> 置換、「検索モード」が「正規表現」に設定されていることを確認してください
Find what: ^....
Replace with: Your_new_character
Replace All
ただし、これは少なくとも 4 文字が含まれる行でのみ機能します。
答え2
を押したままAltマウスを使用すると、複数の行を一度に選択できます。 を押したままAlt、マウスを使用して最初の 4 文字を最後まで選択し、 を押してBackspace、挿入する文字を入力します。すべての行に一度に適用されます。
答え3
答え4
これを行う最も簡単な方法は、検索と置換メニューの正規表現オプションを使用することです。
交換手順
- Ctrl+を押してH置換ダイアログを表示します(または検索 > 置換...(トップメニューから)
- 選択する正規表現「検索モード」の下にあります。
^.{0,4}(.*)$
検索式として使用します。- 例として、挿入する文字が「#」記号であると仮定します。
#$1
置換式として使用します。(「#」を必要な文字に置き換えます。特定の文字にはエスケープ シーケンスを使用する必要があることに注意してください)。 - クリックすべてを置き換える。
説明
検索式
- および文字
^
は$
行の始まりと終わりを示します。これにより、一度に 1 行だけを検索できます。 - は
.
任意の 1 文字に一致するワイルドカードです。 - は
{0,4}
、前の表現に一致する回数を示します。この場合、 は、{0,4}
0 から 4 文字までの一致を検索することを意味します (一致は「貪欲」なので、可能であれば 4 文字を取得しようとしますが、行に 2 文字しかない場合はそれより少ない文字数で妥協します)。空白行を除外する場合は、{1,4}
代わりに を使用できます。少なくとも 4 文字の行のみに一致させたい場合は、 を使用します{4}
。 (.*)
行の残りの部分と一致します。.
は再びワイルドカード (任意の文字に一致) であり、*
0 回以上一致することを意味します (行の最後まで、 で示されます$
)。 括弧は(...)
これを「グループ」としてマークし、置換式で一致するものを再利用できるようにします。
置換式
- 置換式の最初の文字は、各行の先頭に挿入する文字になります。特定の文字 (例) には特別な機能があります。リテラルのドル記号文字を挿入する場合は、ではなく
$
を使用する必要があります。詳細については、以下のリンクを参照してください。\$
$
- は
$1
、検索式の最初の (そして唯一の) グループ (つまり、括弧内のサブ式) に一致するテキストを挿入します。この例では、これは行の 5 番目の文字以降になります。 - 置換式に行頭 (
^
) 文字または行末 ( ) 文字を含める必要はありません。$
以下のリンクには、Notepad++ の正規表現に関する詳細情報が記載されています。
http://docs.notepad-plus-plus.org/index.php/Regular_Expressions