OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

文字列の置き換え

  • 暇なときにでも
  • 質問No.247101
  • 閲覧数58
  • ありがとう数1
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 29% (65/222)

$hiduke = "04/05(金)"; を
4月5日(金) に置き換えるのは。
宜しくお願いします。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.3
レベル12

ベストアンサー率 75% (398/526)

マッチングや置換に使う、「 m// 」(m は省略可)や「 s/// 」の / は、他の文字に置き換えることができます。
sinx さんがおっしゃる通り、変換文字に / があるため、「 s/(\d+)\/(\d+)/…/ 」としてもOKなのですが、分かりにくいので他の文字(!)を使いました。

($1+0) についてですが、$1 は「04」という「文字列」なっているので、+0することで「4」という数値に変換しているのです。
お礼コメント
hana3090

お礼率 29% (65/222)

有難う御座います、これから置換の勉強に役立てたいと思います。
投稿日時 - 2002-04-06 22:52:32
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル12

ベストアンサー率 75% (398/526)

言語がPerlならば、次のようにすればOKです。 $hiduke =~ s!(\d+)/(\d+)!($1+0).'月'.($2+0).'日'!e; 置換演算子「s」を使い、/ 前後の数字を拾って加工しています。 パターンマッチについて勉強されると良いでしょう。 ...続きを読む
言語がPerlならば、次のようにすればOKです。

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

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

お礼率 29% (65/222)

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


  • 回答No.2
レベル8

ベストアンサー率 29% (14/47)

1の方だけ。 置換前の文字列に"/"が入っているので区切り文字を変えているのだと思います。
1の方だけ。
置換前の文字列に"/"が入っているので区切り文字を変えているのだと思います。
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ