- ベストアンサー
配列への分割方法
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
XML自体はプログラミング言語ではなく、データを保持・記述するドキュメント(拡張可能マークアップ言語)なので、XMLで「文字列を分割し配列に格納する」ことはできないでしょう。 Perlについては、全く知らないので何とも言えませんが、 Perlを使って、XMLのデータを抽出できるなら、"h o g e"の部分に抽出したデータを持ってくれば可能でしょう。
関連するQ&A
- 連想配列の配列の使い方
C言語でいうところの構造体の配列(要素は"hoge"と"fuga"のみ)を perlで表現する場合、連想配列の配列にするのが一般的でしょうか? 以下の様なソースコードなのですが、perlらしさが失われている気がします。 perlらしく書くとしたらどう書くのが良いでしょうか? [ソース] @list; #この配列の要素に連想配列を入れる sub input{ #list.txtの中にはhogeとfugaの値がカンマ区切りで記入されている open(IN, "list.txt"); $i = 0; while ($xx = <IN>) { ($list[$i]{"hoge"}, $list[$i]{"fuga"}) = split /,/, $xx; $i++; } close(IN); } sub output{ for($i = 0; $i <= $#list; $i++){ print $list[$i]{"hoge"}, $list[$i]{"fuga"}; } }
- ベストアンサー
- Perl
- 配列でデータを渡したい
CGIで、配列を使ってある変数を渡したいのですが、渡す側、渡される側でどのような記述をすればよいのでしょうか。 PHPでは <form action="hoge.php"> <input type="text" name="hoge[]"> <input type="text" name="hoge[]"> </form> $_POST['hoge'][0],$_POST['hoge'][1] としておりましたが、perlではどのように記述すればよいでしょうか。 よろしくお願い致します。
- ベストアンサー
- Perl
- cshで文字列分割
ヤマトです。 cshの文字列分割について質問します。 環境はRed Had Linux7.2です。 set DATA = hoge1;hoge2;hoge3 のデータを";"区切りでDATA_ARR(配列)に入れたいのですが、分かりません。 調べた所、[awk]と[split]を使えばできるようなのですが、 実際どのようにSHに記述していいか分かりません。 n = split(DATA,DATA_ARR,";") をどのように記述したらよいのでしょう? 教えて頂けると有り難く思います。宜しくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- 多次元配列を、1次元の配列にする関数を書いてください。
以下のように、多次元配列の配列をペチャンコにする関数(array_flatten)ってどうかきますか? <?php $arr[0] = 'a'; $arr[1][0] = 'b'; $arr[1][1][0] = 'c'; $arr[1][1][1][0] = 'd'; $arr[1][1][1][1][0] = 'e'; $arr[1][1][1][2] = 'f'; $arr[1][1][2] = 'g'; $arr[1][2] = 'h'; $arr[2] = 'i'; function array_flatten($arg){ 処理; } $new_arr = array_flatten($arr); print_r($new_arr); ?> ↓ Array ( [0] => a [1] => b [2] => c [3] => d [4] => e [5] => f [6] => g [7] => h [8] => i ) ※関数のなかで、ペチャンコの配列を格納するための新しい配列を宣言すると、 同関数を再帰的に呼び出したら、その配列が初期化されますよね?
- ベストアンサー
- PHP
- Javascriptでの正しい文字置換方法
Javascriptのサンプルなどで置換処理は A→Bの置換を行う場合 文字列をAで配列に分割してそれをB区切りに連結するという方法を使っているのを見かけるのですが納得いきません。 Perlで書いた場合、こんな感じの処理ですね。 $str = join("B",split(/A/, $str)); もう少し正直に $str =~ s/A/B/g; に該当するような正しい記述は無いものでしょうか?
- ベストアンサー
- JavaScript
- 2次元配列or複数回のファイル読み込み方法
入力ファイルに A1, A2, A3, A4... B1, B2, B3, B4... というように記述されており、 そのファイルを処理した結果 A1 B1 A2 B2 A3 B3 のようになるように処理したいです。 どのようにすれば実現できるでしょうか? 二次元配列が使用できれば、 入力ファイル情報を配列に保持できると思いますし、 入力ファイルを複数回読めれば、 そのたびに、読む列を変更できるのですが。。 Perl初心者ですが、よろしくお願いします
- 締切済み
- Perl
- 二次元配列の分割
よろしくお願いします。 $hoge = array( "one" => array("abc" => "100", "def" => "200", "ghi" => "300"), "two" => array("abc" => "110", "def" => "210", "ghi" => "310"), "three" => array("abc" => "120", "def" => "220", "ghi" => "320") "four" => array("abc" => "130", "def" => "230", "ghi" => "330") ); というような配列があったとき、 abcが110以下のときと、110より大きい場合で分割した配列を 用意したいと考えてます。 具体的には、 $hoge1 = array( "one" => array("abc" => "100", "def" => "200", "ghi" => "300"), "two" => array("abc" => "110", "def" => "210", "ghi" => "310"), ); と $hoge2 = array( "three" => array("abc" => "120", "def" => "220", "ghi" => "320") "four" => array("abc" => "130", "def" => "230", "ghi" => "330") ); に分割したいと考えています。 どのように記述すればよいのでしょうか?
- ベストアンサー
- PHP
- verilogで配列の任意の8bitを取り出す方法
配列の中の任意の8bitを取り出すのに、 hoge[fuga:fuga + 8] と書きましたが、エラーになってしまいました。 配列の添え字には、変数は記述できないのでしょうか? とすると、他にどの様な書き方があるのでしょうか? 教えてください。よろしくお願いします。 (verilog初心者です)
- ベストアンサー
- その他(プログラミング・開発)
- PHPで2次元配列を1次元配列にしたいのですが、わからないので教えてく
PHPで2次元配列を1次元配列にしたいのですが、わからないので教えてください。 例えば2次元配列を以下のようにします。 $ss[0][0]=a $ss[0][1]=b $ss[0][2]=c $ss[1][0]=あ $ss[2][0]=い $ss[3][0]=う これを以下のような1次元配列にしたいです。、 $ss[0][0]→$g[0],$ss[0][1]→$g[1],$ss[0][2]=$g[2] $ss[1][0]→$h[0],$ss[2][0]→$h[1],$ss[3][0]=$h[2] よろしくお願いします。
- ベストアンサー
- PHP
- 多次元配列の初期化
多次元配列の初期化を行いたいのですが、 下記の方法では、配列の値が多くなったときに大変 なので他に良い方法はありませんでしょうか? char lesson[7][6] = { {'A', 'B', 'C', 'D', 'E', 'F'}, {'G', 'H', 'I', 'J', 'K', 'L'}, {'M', 'N', 'O', 'P', 'Q', 'R'}, {'S', 'T', 'U', 'V', 'W', 'X'}, {'Y', 'Z', 'a', 'b', 'c', 'd'}, {'e', 'f', 'g', 'h', 'i', 'j'}, {'k', 'l', 'm', 'n', 'o', 'p'}, };
- ベストアンサー
- C・C++・C#
お礼
なるほどですね。ありがとうございました。