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

$hiduke = "04/05(金)"; を
4月5日(金) に置き換えるのは。
宜しくお願いします。

A 回答 (3件)

マッチングや置換に使う、「 m// 」(m は省略可)や「 s/// 」の / は、他の文字に置き換えることができます。


sinx さんがおっしゃる通り、変換文字に / があるため、「 s/(\d+)\/(\d+)/…/ 」としてもOKなのですが、分かりにくいので他の文字(!)を使いました。

($1+0) についてですが、$1 は「04」という「文字列」なっているので、+0することで「4」という数値に変換しているのです。
    • good
    • 0
この回答へのお礼

有難う御座います、これから置換の勉強に役立てたいと思います。

お礼日時:2002/04/06 22:52

1の方だけ。


置換前の文字列に"/"が入っているので区切り文字を変えているのだと思います。
    • good
    • 0

言語がPerlならば、次のようにすればOKです。



$hiduke =~ s!(\d+)/(\d+)!($1+0).'月'.($2+0).'日'!e;

置換演算子「s」を使い、/ 前後の数字を拾って加工しています。
パターンマッチについて勉強されると良いでしょう。

この回答への補足

有難う御座います、置き換えができました、
参考書を調べたのですが判らないところが二箇所あります、
1、置換演算子が s///e;でなく s!!!e;になつている。
2、($1+0) の +0 の意味。
以上宜しくお願いします。

補足日時:2002/04/06 04:31
    • good
    • 0

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