アプリ版:「スタンプのみでお礼する」機能のリリースについて

正規表現でマッチした数字文字を計算して置換することを1行で記述できますか?

たとえば
2004/01/01 --> 2004/01/17
2004/01/02 --> 2004/01/18
2004/01/03 --> 2004/01/19

$a = '2004/01/01';
$a =~ s/([0-9]{4})\/([0-9]{2})\/([0-9]{2})/\1\/\2\/???????/;

?????の部分です。

A 回答 (1件)

sprintfを使えばできます。


???????以外のところも変更しますけど。

$a = '2004/01/01';
$a =~ s/([0-9]{4})\/([0-9]{2})\/([0-9]{2})/sprintf "$1\/$2\/%d", $3+16/e;

最後の e をお忘れなく。
    • good
    • 2

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!