(perl) ~ s/変換前文字列/変換後文字列/g; 最後の文字列だけ変換するには?
[上に]
[前に]
[次に]
茶しぶ男
2000/01/13(木) 10:19:00
Perlで、
$hogehoge =~ s/変換前文字列/変換後文字列/g;
だと、全部の文字列を変換し、
$hogehoge =~ s/変換前文字列/変換後文字列/;
だと、最初の文字列だけ変換されますが、
「最後の文字列だけ変換」する方法(「g」の代わりに指定?)はないでしょうか?
また、「g」「指定なし」以外の物の一覧があれば、教えてくださると幸いです。よろしくお願いします。
トライ
2000/01/13(木) 11:27:17
>また、「g」「指定なし」以外の物の一覧があれば、教えてくださると幸いです。
i:大文字と小文字の区別をしないようにできます。
m:文字列に含まれている\n(改行)を無視します(複数行で置換可能です。)
s:文字列を1つの行として認識します。
>「最後の文字列だけ変換」する方法(「g」の代わりに指定?)はないでしょうか?
正規表現に
$:行の末尾を示します。
というのがあったと思います。それと、
.*:何文字かある文字列
を組み合わせて、
$hogehoge =~ s/(^.*)置換前文字列(.*$)/$1置換後文字列$2/;
なんていかがでしょうか。
茶しぶ男
2000/01/13(木) 11:47:53
[[解決]]
> $hogehoge =~ s/(^.*)置換前文字列(.*$)/$1置換後文字列$2/;
これで、うまく行きました。
ありがとうございました。
#言葉の使い方ですが、「変換」ではなくて、「置換」が正解でしたね。さりげない指摘、重ね重ねありがとうございます。
[上に]
[前に]
[次に]