2

正規表現に文字列があり、数字であろうと文字であろうと、置換を自動インクリメントするように指示できます。

ありがとうございました

たとえば、私は数字でなければならない文字列を持っています1, 2, 3, 4, 5が、それらは現在次のように番号が付けられています1, 1, 1, 1, 1

これらの5つの個別の類似した文字列の番号をどのように置き換えるのですか?1, 2, 3, 4, 5

4

1 に答える 1

4

私はTextWranglerの構文に精通していません。ただし、使用するpcreので、増分変数に初期値を割り当てる方法がある限り、これが必要です(この場合は使用します$ii)...以下のスクリプトは、「pizza-x」の出現箇所を置き換えます。 「pizza-0」、「pizza-1」で..

@foo = ('pizza', 'pizza-a', 'pizza-b', 'pizza-c');
$ii = 0;
foreach (@foo) {
    $_ =~ s/(pizza-)[a-z]/"$1".$ii++/e;
    print "$_\n";
}

結果...

[mpenning@mpenning-t60 Desktop]$ perl foo.pl 
pizza
pizza-0
pizza-1
pizza-2

魔法はとから来s///e;てい$ii++ます; インクリメントしない文字列は必ず引用符で囲み、ピリオドで連結してください。

perl -pi -e '$ii = 0; s/something/"here".$ii++/eまたは、テキストファイルで直接 `を使用して自動インクリメントマングリングを実行します(もちろん、最初にバックアップコピーを作成します)。

于 2011-06-07T00:24:47.133 に答える