• 締切済み

perlの文字列操作について教えてください

perl初心者です。 変数$hogeに下記のような値が入っていた場合に、 ttp://***の部分を1つずつ取り出して、配列に 代入する方法を教えてくださいm(_ _)m $hoge = ttp://aaaa ttp://bbb ttp://ccc

みんなの回答

  • kuroizell
  • ベストアンサー率55% (95/170)
回答No.2

もしかしたら  @a = ( $hoge =~ m|ttp://([abc]+)|g ) ; ということかも? 詳しくは「正規表現」を調べましょう。

全文を見る
すると、全ての回答が全文表示されます。
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

@a = ( $hoge =~ m|ttp://[abc]+|g ) ; 正規表現の部分は実際に使用するものに合わせて。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 文字列を配列定義に使用するには

    文字列を配列の定義に使用したいのですが、可能でしょうか? 具体的には以下のような内容です。  $AAA = array("name"=>"山田","val"=>"10"); とすると変数$AAAは配列になります。  $BBB = 'array("name"=>"佐藤","val"=>"20")'; とすると変数$BBBは文字列になります。  $CCC = $BBB; と変数$CCCに代入した場合に、 変数$CCCを配列として認識させたいです。 つまり  print $CCC[name]; //佐藤  print $CCC[val]; //20 というように出力させたいのですが、 根本的に可能なのでしょうか…? よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • perl について

    http://AAA/BBB/???/CCC AAAとCCCは固定文字です。 BBBは変化します。 ///の数・順番も固定です。 この状態で、「???」を抜き出してZZZ変数に値を代入するにはどうすれば良いでしょうか? ZZZ=

    • ベストアンサー
    • Perl
  • ◆配列

    いつもお世話になっています。 [0] => ttp://aaa.hoge.jp/1.html [1] => ttp://bbb.hoge.jp/1.html [2] => ttp://ccc.hoge.jp/1.html [3] => ttp://ddd.hoge.jp/1.html [4] => ttp://aaa.hoge.jp/2.html [5] => ttp://aaa.hoge.jp/3.html [6] => ttp://aaa.hoge.jp/4.html [7] => ttp://bbb.hoge.jp/2.html [8] => ttp://bbb.hoge.jp/3.html [9] => ttp://bbb.hoge.jp/4.html [10]=> ttp://bbb.hoge.jp/5.html 上記の配列があります。例えば同じURLの場合3件まで取得しもう一つ配列を作成したい。 上記の配列だと下のような配列にしたい。 [0] => ttp://aaa.hoge.jp/1.html [1] => ttp://bbb.hoge.jp/1.html [2] => ttp://ccc.hoge.jp/1.html [3] => ttp://ddd.hoge.jp/1.html [4] => ttp://aaa.hoge.jp/2.html [5] => ttp://aaa.hoge.jp/3.html [6] => ttp://bbb.hoge.jp/2.html [7] => ttp://bbb.hoge.jp/3.html ループで色々探っているのですが。。。 宜しくお願いします。

    • ベストアンサー
    • PHP
  • 文字列から特定の文字を抜き出す

    こんにちは。 シェルスクリプトで文字列から特定の文字を抜き出し、 変数に入れたいのですが、うまくいきません。 申し訳ありませんが、アドバイスをお願いいたします。 文字列 $moji=aaa_bbb_ccc (文字は変動します) $a=aaa $b=bbb $c=ccc と"_"毎に変数に代入したい。 echo $moji | awk -F_ '{print $2}' で文字を標準出力に取り出すことはできるのですが、 そこから変数に代入する方法がいまいち分かりません。

  • バッチファイルで「,]区切りの文字を抜き出したい

    現在、バッチを作成しているのですが、txtファイルからの文字の抜き出しがうまくいきません。 findstr /b "aaa" C:\tmp\test.txt 上記で行毎では抜き出せるのですが、それから[ , ]区切り毎の抜き出し方がわかりません。 [test.txt] aaa,bbb,ccc,ddd eee,ffffff,ggggg,hhhh 下記のようにそれぞれ変数に代入したいと考えております。 aaaで実行する場合。 hoge1=aaa hoge2=bbb hoge3=ccc hoge4=ddd eeeで実行する場合。 hoge1=eee hoge2=fffff hoge3=ggggg hoge4=hhhh 変数への代入はfor文を使用しようと考えております。 お知恵をよろしくお願いいたします。

  • perlのマクロ演算子?について

    AAA変数にBBB配列名を代入し,AAA変数に配列を入れてBBB配列を使いたいのですが....どのようにするのでしょうか? 例 $count = 1 $AAA = "@BBB_no".$count; ※$AAA = ("ア","イ","ウ","エ"); ↑ここの※の部分に何か加えるのでしょうか?

  • 2つの配列を比較し、一致しないのを得たいのですが

    連想配列 $foo = array( "aaa" => "111", "bbb" => "222", "ccc" => "333" ); と 一般配列 $bar = array( 0 => "aaa", 1 => "bbb" ); がある場合に、$iを数字として、 $fooのkey部と$bar[$i]の値が一致したら(つまり、例えばaaa)、 $fooの中のその部分は除去するような事がやりたいのですがどのようにすればいいのでしょうか? 色々試してみましたが、自分には全く出来ませんでした。 除去ではなく、新しい配列に $hoge = array( "ccc" => "333" ) のような形で入れ込むのでもいいのですが、とくかく$hogeのような配列を手に入れたいと考えております。 アドバイス頂けないでしょうか? 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • バッチファイルで「,]区切りの文字を抜き出したい

    現在、バッチを作成しているのですが、txtファイルからの文字の抜き出しがうまくいきません。 findstr /b "aaa" C:\tmp\test.txt 上記で行毎では抜き出せるのですが、それから[ , ]区切り毎の抜き出し方がわかりません。 [test.txt] aaa,bbb,ccc,ddd eee,ffffff,ggggg,hhhh   ・   ・   ・ 下記のようにそれぞれ変数に代入したいと考えております。 aaaで実行する場合。 hoge1=aaa hoge2=bbb hoge3=ccc hoge4=ddd eeeで実行する場合。 hoge1=eee hoge2=fffff hoge3=ggggg hoge4=hhhh 変数への代入はfor文を使用しようと考えております。 追記いたしますと、各hoge~は先頭の[hoge1]を除き、行毎に文字数が異なり、行数は100行を超えますので、なんとかバッチの方で割り当てたいと考えております。 お知恵をよろしくお願いいたします。

  • perlの文字列操作について

    perlを下記のことをしたいのですが教えていただけないでしょうか? 若しくは、こういったことのできるスクリプトの参考になるページを教えてください。 確か、perlではハッシュというものを使うことでとても効率的にこれをする方法があったと思うのですが、配列まではなんとかぎりぎり分かったのですがハッシュまでは手が回っていません。 何卒、宜しくお願い致します。 ---log.txt-- http://www.1.com/ http://www.2.com/ http://www.3.com/ http://www.1.com/ http://www.2.com/ http://www.3.com/ http://www.3.com/ http://www.1.com/ ----------- log.txtを解析して、 3>http://www.3.com/ 3>http://www.1.com/ 2>http://www.2.com/

    • ベストアンサー
    • Perl
  • PHPの文字列の中に<>を入れると、その中が消える

    PHP初心者です。 例えば、下記のように変数に文字を入れたいです。 $text = "aaa<bbb>"; そうすると、なぜか、<>の中身が消えてしまうのですが、 このような場合、どうしたら良いでしょうか? echo $text; とすると、 aaa し表示されません。 試しに、 $text = "aaa<bbb>ccc"; とすると、aaaccc と表示されます。 ちなみに、mail()関数の中のheader要素を代入する際にこの問題にぶちあたっています。 smartyを使っています。※初期設定のみで何もしていません。 分る方がいましたら、ご助言いただけるとうれしいです。