• ベストアンサー

20100228000000+0900 ⇒ 2010.02.28

perlで 変数$aに代入されている"20100228000000+0900"という文字を ($a=20100228000000+0900) 変数$bに"2010.02.28"と変換させて代入するには どのようにすればよいのでしょうか。 お忙しいところ恐れ入りますが,ご教授ください。

  • GUYS
  • お礼率44% (52/117)
  • Perl
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.1

頭から取り出して書き出せばいいと思います。 $b = substr($a,0,4) ."." .substr($a,4,2) ."." .substr($a,6,2);

GUYS
質問者

お礼

ありがとうございました。 助かりました。 今後ともよろしくお願い申し上げます。

関連するQ&A

  • Perlで変数に代入された文字の置き換えを行いたい

    Perlで、変数Aに代入された文字を変換し、変数Bに代入するプログラムを作りたいと思っています。 具体的には、「北海道」が変数Aに代入されると、「hokkaido」を変数Bに代入するというものです。 これを47都道府県全体でやりたいと思っています。 プログラムの都合上、 北海道 → 変数A → hokkaido → 変数B という流れで変換する必要があります。 具体的なソースを何卒ご教示いただければ幸いです。 お手数をお掛けいたしますが、アドバイスのほど、よろしくお願い致します。

    • ベストアンサー
    • Perl
  • perlの内容なのですがこれで合っていますでしょうか?

    print 関数は文字列や数値だけでなく、変数を指定してその値を表示することもできます。 $a=1; 1を$aに代入する。 print $a; 変数$aの値を表示させる。 $a=2; 変数$aに2を代入する。 $b=3; 変数$bに3を代入する。 print "変数\$aに変数\$bを代入\n"; 「変数$aに変数$bを代入」という文字を表示させて改行する。 $a=$b; 変数$bの値を変数$aに代入する。 print "\$a="; 「$a=」を表示させる。 print $a; 変数$aの値を表示させる。 print ",\$b="; 「,$b=」を表示させる。 print $b; 変数$bの値を表示させる。 print "\n"; 改行を表示させる。 実行結果は↓↓↓↓↓↓↓ 変数$aに変数$bを代入 $a=3,$b=3 変数の書き方 文は ; で区切るが、1行に並べることも可能。 $a=2; $b=3; ↓ $a=2; $b=3; 複数の変数に、同時に値を代入することも可能。 $a=2; $b=2; ↓ $a=$b=2;

    • ベストアンサー
    • Perl
  • Perl あっていますでしょうか?

    " " と ' ' の相違は? ""の内にある変数名は、その値に変換されます。 ''の内にあるものは、そのまま文字列として扱われます。 エスケープシーケンスは "" の内に記述した場合のみです。 $a="Hello"; 文字列Helloを変数$aに代入する。 $b="$a"; 変数$aを変数$bに代入する。 $c='$a'; $aという文字列を変数$cに代入する。 ""の内で""を使うことは出来ません。 ''の内で''も使うことは出来ません。 使うときはエスケープシーケンスを使います。 print "\"Hello\"\n"; 文字列"Hello"を表示させます。 print "'Hello'"; 'Hello'を表示させます。 ""の内で''又は''の内で""を使うことは出来ます。 $a="あいうえお"; 文字列 あいうえお を変数$aに代入する。 print "\n$a\n"; 改行して あいうえお表示して 改行する。 print '\n$a'; 文字列\n$aを表示する。 文字列の結合 . (ピリオド)を使って前後の文字列を連結することが可能です。 $a="Hello"." "."World"; 変数$aに文字列Helloと半角スペースとWorldをつないだものを代入します。 $a="c"x3; 変数$aに文字cを3回つないだものを代入します。 $a="A"; 文字Aを変数$aに代入する。 $b="B"; 文字Bを変数$bに代入する。 $c="C"; 文字Cを変数$cに代入する。 print $a.$bx3.$c; 文字Aと文字Bを3回結合したものと文字Cを表示する。 画面にはabbbcと表示されます。

    • ベストアンサー
    • Perl
  • パールで「$:」は何を意味するのですか??

    パールプログラムの先頭に次の行がありました。 $: = " "; これはいったい何をやっているのでしょうか。 $:という変数へ1文字分の空白文字を代入しているというのは分かるのですが・・・ ちなみにパール起動直後にこの変数の内容を表示させてみたら_(下線)でした・・・。 パールではこの$:という変数は何に使用されているのですか。

    • ベストアンサー
    • Perl
  • 変数について

    Perlを勉強し始めました。 いままでプログラミングを組むことがなかったので、全くの素人 なんですが、いきなり壁に当たりました。 変数のところを勉強してるんですが、 $a=1; $a +=2; print $a みたいな感じで書かれてるのをみて、ふと疑問が。 $aに1を代入する。 $aに、$a+2を代入して、$aを表示ってことですよね。 $b +=2;にして、print $bにしないで、なんで $aに、$a+2を代入するんでしょうか?? $aは、すでに1を代入していて、$aは『1』としてるわけじゃないですか。 その$aに、また$a+2を代入するという発想がさっぱり理解できません。 普通に、$bにすればいいじゃん、その方がすっきりするじゃん、って思うんですが、なんでこんな記述方法にするのかわかりやすく教えていただけたら助かります。

    • ベストアンサー
    • Perl
  • Perlです。サブルーチンについて

    以下の文はあっていますでしょうか。 # サブルーチンを呼び出して引数は 3 とする。 # そして返ってきた戻り値を変数$aに代入せよ。 $a=&a(3); # サブルーチン名aせよ。 sub a{ # $_[0]が引数 3 となりプラス1して変数$bに代入せよ。 $b=$_[0]+1; # 変数$bの内容を戻り値として返せ。 return $b; } # 変数$aの内容を表示せよ。 print "$a";

    • ベストアンサー
    • Perl
  • 正規表現

    変数$aのなかに変数$bが含まれていたらをperlの正規表現であらわすと どのようになるのでしょうか?if($a=~ /$b/)ではうまくいかないのですか?

    • ベストアンサー
    • Perl
  • Perlインクリメントデクリメント

    あっていますでしょうか? インクリメント演算子とデクリメント演算子 インクリメント(加算)演算子は変数の数値を一つ増やす。 デクリメント(減算)演算子は変数の数値を一つ減らす。 ++ インクリメント演算子 変数の値を1増やす $a++ ++$a $aの値を1増やす -- デクリメント演算子 変数の値を1減らす $a-- --$a $aの値を1減らす $a=1; 変数$aに1を代入する print "はじめは$aでした。\n"; $aの代わりに1が入り はじめは1でした。と表示する。 $a++; $aに1を足す。 print "1増えて$aになりました。\n"; $aの代わりに2が入り、1増えて2になりました。 と表示する。 $a--; $aから1減らす。 print "1減って$aに戻りました。\n"; $aの代わりに1を入れて 1減って1に戻りました。 と表示する ↓ 実行結果 ↓ はじめは1でした。 1増えて2になりました。 1減って1に戻りました。 $a++ と ++$a の違い インクリメント演算子、デクリメント演算子には2通りの書き方があります。 ++$a(前置)と$a++(後置) --$a(前置)と$a--(後置) 前置の場合は変数の参照より先に演算が行われます。 後置の場合は変数の参照より後に演算が行われます。 $x=$a=1; 変数$xと$aに1を代入する。 $x=++$a; $aに1を足した後に$xに代入する。$xの値は2になる。 $x=$a=1; 変数$xと$aに1を代入する。 $x=$a++; 変数$aの値を$xに代入した後に$aに1を足す。$xの値は1。 文字もインクリメント出来ます。 $x="A"; "A"を$xに代入する。 $x=++$x; Aから一つ増やしてBにして$xに代入する。 $x="aaa"; "aaa"を$xに代入する。 "aaa"を一つ増やして"aab"を$xに代入する。 ただし、文字のデクリメントはできません。

    • ベストアンサー
    • Perl
  • [VBS]変数を定数に変換する方法を教えて下さい。

    初心者です。 ある実行結果を持っている変数から、新たにリテラル文字列として変数を 代入する要件があり、クリアできず非常に困っています、、、。 どなかたご教示頂ければと思います。 以下例、変数Aのリテラル定数を変数Bに代入したいのですがやり方がわかりません。 (単純にリテラル文字列として渡したいです。) 【例】 -------------- A = "123" const B = A msgbox B -------------- よろしくお願いします。

  • 特殊文字入りの文字結合を、変数にできますか?

    ●perl $seireki = "2013";     # 変数 #------------- $123 = "$seireki";     # 代入 $nengou = "$abc"."$123"; # 結合 #------------- $abc2013 = <<"EOF"; あいうえお EOF $abc2014 = <<"EOF"; かきくけこ EOF #------------- ●html <strong>$nengou</strong> ーーーーーーーーーーーーーーーーーーー 上記、htmlの$nengouに あいうえお と表示したいのですが、 2013 と表示されてしまいます。 解決法として、 $は特殊文字なので、エスケープシーケンス(¥$)をして、 $nengou = "¥$abc"."123"; にしたら、 htmlの中の$nengouは、$abc2013 と表示されてしまいます。 どのようにしたら、 特殊文字入りの文字結合を、変数として扱うようにするのでしょうか? いろいろ試してみてもどうしても出来ません。 どなたか解決していただけますと、ありがたいです。

    • ベストアンサー
    • Perl

専門家に質問してみよう