締切済み 配列の要素をばらばらにして入れ込む 2004/12/22 19:34 たとえば8つの配列を持つ配列@aを(2004 10/12 田中 1 1 1 0 0)として、 その第4~8要素だけをコンマ区切りの文字列"1,1,1,0,0"として$aaaに入れることは可能ですか? みんなの回答 (2) 専門家の回答 みんなの回答 Dpop ベストアンサー率51% (279/544) 2004/12/22 19:41 回答No.2 これで良いかな。 #!/usr/local/bin/perl @a = ("2004", "10/12", "田中", "1", "1", "1", "0", "0"); $aaa = join(',', @a[3..7]); print $aaa. "\n"; 通報する ありがとう 0 広告を見て他の回答を表示する(1) Tacosan ベストアンサー率23% (3656/15482) 2004/12/22 19:38 回答No.1 $aaa = join(',', @a[3..7]); 通報する ありがとう 0 カテゴリ [技術者向] コンピュータープログラミング・開発Perl 関連するQ&A C# Splitと配列の複合方法 こんにちは、 ”てすと、です。¥四月、寒い。” のような文字列があり これを¥で区切り、さらにカンマで区切って(Splitでここはできたのですが) 結果を下記のように配列に格納したいと思うのですが、どのように記述すればよいでしょうか? 配列(0,0)=”てすと” 配列(0,1)=”です。” 配列(1,0)=”四月” 配列(1,1)=”寒い。” 文字列の内容が定まっていないため配列の要素数が変動してするものでして。 配列から別の配列の要素を削除する方法 ある配列array_aに、100件の文字列要素が格納されています。 別の配列array_bには、80件の文字列要素が格納されています。 array_aの要素、array_bの要素共に重複するものはありません。 array_b中に存在する要素はすべてarray_a中にも存在します。 array_aにあり、array_bにはない要素で構成されたarray_cの作り方を教えてください。 例えば $array_a=array("a","b","c","d","e","f","g"); $array_b=array("e","b","d"); なら、 $array_c=array("a","c","f","g") になります。 配列array_aとarray_bは、 $array_b=array("b","b","d"); であったり、 $array_a=array("a","a","b","c","d","e","f","g"); といった「重複する要素を含むパターン」はありません。要素はすべてユニークです。 よろしくお願いいたします。 配列を回すとき、最後の要素だけ違う処理をしたい hoge[0]に対して、配列の中身を処理して, 最後にカンマを付与 hoge[1]に対して、配列の中身を処理して, 最後にカンマを付与 hoge[2]に対して、配列の中身を処理して, 最後にカンマを付与 hoge[3]に対して、配列の中身を処理して, 最後にカンマを付与しない というようなことをするとき、 どう書けばよいでしょうか? for ($i = 0 ; $i <count($hoge); $i++) { if($i< count($hoge)-1){ //配列の要素が最後じゃないのに対する処理 .","; }else{ //配列の要素が最後のに対する処理 } } ってしたら、とりあえず、動いたのですが、 普通はどういう風に書くのでしょうか? foreachとか、あるいは、配列の最後に対してする何か 書き方ってあるのでしょうか 連想配列の操作方法について A,B,C,D,E 1,3,4,5,7 2,4,6,7,10 4,5,1,4,8 このようなコンマ区切りテキストファイルを読み込み、次のような配列をつくるには、どうのようにしたよいか悩んでいます。 ご教授ください。 [A,1,2,4],・・・,[E,7,10,8] (行と列を置き換えるように配列を作成したい) 配列の要素数を調べる方法 配列の中にいくつ要素があるか後から調べる方法はあるでしょうか? int test[4][3] = { {0,1,2}, {0,1,2}, {0,1,2}, {0,1,2}, } ; 上のケースだと、X方向に3、Y方向に4つの 要素があります。しかし、これだとあらかじめいくつ要素があるかを決めて 置かないといけません。 例えば、 int test[] = {0,1,2,3....} みたいに宣言された場合や、 char *test[] = { "ああああああ", "いいいいいい", "うううううう", ・ ・ //(これは文字列の数を要素数とします) } ; のように宣言された二次元配列などで、後から配列内にいくつ要素があるかを 調べることなどは可能でしょうか? VB2005 ExpressEditionで勉強しています。 VB2005 ExpressEditionで勉強しています。 カンマ区切りの文字列を一旦配列に入れて配列のデータを ひとつずつリストボックスに入れる処理を作っているのですが、 配列に重複したデータがあるのでそれをひとつにしたいです。 配列にデータが入ってる時か、リストボックスに入れるときのどちらかで やりたいです。いい方法を教えてください。 本などで探したのですが見つかりません。 イメージは、配列が (aaa,bbb,ccc,aaa)だとすると リストボックスに入るときに (aaa,bbb,ccc)になっていればいいです。 可変長の配列要素を文字列に代入する方法 ちょっとしばらくPHPやってなかったもので、へんなことで悩んでいます。 配列要素が固定長の場合、 <?php $a = array(1, 2, 3); //固定長3の場合 $data = "$a[0], $a[1], $a[2]"; //文字列$dataに配列要素を代入 ?> と簡単にできてしまいますが、 $aが可変長の配列であった場合にも同様の事がやりたいのですが、 この場合、PHPの記述としてはどう書くのがベストなのでしょうか? 御教示ください。 配列について プログラミング言語一般の配列について思うことがあるのですが、 仮にJavaScriptで話を進めます。 (JavaScriptの配列は、正確には連想配列としての実装で、 インデックスに数字を使用するときは自動的に文字列に 置き換えられるそうですが、その辺の話は無視させてください。) 本やネットなどで配列に関する説明を見ると、 「var a=new Array(3);で、a[0],a[1],a[2]の3つの配列要素が確保される」などとあり、 図解なんかでは、一つ目の箱にa[0]、2つ目の箱にa[1]などと 書かれていて、普通の変数の場合と同様に、あたかもa[0]やa[1]が個々の要素の名前のように解説してある場合が多いのですが、 どうもこれって違うんじゃないのかって気がしてしょうがないです。 配列の1番目の要素にアクセスする手段として、a[0]と記述するのであって、 a[0]そのものが個々の要素の名前ではないですよね。 名前だとしたら、a[0]は文字列でなくてはいけないと思うのですが、 みなさんはどう思われますか? まぁ、実際プログラミングする際にはどうでもいいような話かも知れませんが(^^; よろしくお願いします。 二つの配列の要素を比べる方法がわかりません いつもお世話になっています。 n行3列の配列のVectorが二つあります。 その同じ行と列に対応する要素どうしを比較する ためにVectorから値を取得したいのですが、その 方法がわかりません。 なんとなくtoArrayというメソッドを使うんじゃないのかなあという気はしてるんですが…。 ちなみにVectorにaddするときは、1行3列のString型の配列をaddしています。 Vectorの配列から要素を取り出す方法をご存知の方が いらっしゃいましたら、ご教授ください。 ExcelVBAで配列に一気にデータを入れる かすかな記憶で申し訳ありませんが、変数をVariant型で宣言しておくと、","で区切られた文字列は、一気に配列として代入出来ると聞いた気がしています。色々と試してみたのですが、よくわかりません。よろしくお願いいたします。 Dim a as Variant dim myText as string myText = "月曜,火曜,水曜,木曜,金曜,土曜,日曜" のような感じで(実際のカンマで区切られた文字列は100個ぐらい要素があります)一気に代入して、aを配列として扱いたいのです。 よろしくお願いいたします。 Rubyで配列の各要素の中身を書き換えてコピー Rubyの配列の扱い方についてなのですが、 配列内の各要素(文字列)を更に細かい単位に分割してその中の1部を別の配列へコピーしようと思うのですがどうもうまくいきません。 具体的には array1["http://www.google.co.jp/","http://www.yahoo.co.jp/"] という2つの要素を持つ配列があるとして、 これを.split(/\//)を使用して分割しuriの3番目の要素に当たるhost名を別の配列 array2["www.google.co.jp","www.yahoo.co.jp"] という感じに部分複製したいのですがどのようにすればいいのでしょうか? bashで配列から、特定の要素を抽出する。 echo ${array[0]} This is a pen. echo ${array[1]} There is a cat. echo ${array[2]} Who are you? echo ${array[3]} Can I help you? ・ ・ ・ などと、要素数は任意で 各要素に任意の文章が入っている 配列があるとき、 特定の文字列の間の要素のみを取り出して 別の配列に入れるという処理をbashで行いたいです。 具体的に、上記の例ですと 要素1と要素2だけを抽出し 新たな配列 newarrayに入れ echo ${newarray[0]} There is a cat. echo ${newarray[1]} Who are you? としたいです。 どのように処理したらよろしいでしょうか? よろしければ、知恵をお貸し願えたらと思います。 配列の要素追加について 配列Aがあり、その配列に別の要素を加えた配列Bを作成するためにはどのようにすればよいのでしょうか? Aをコピーしたものに要素を一つ加えてと考えたのですが。。。 つまり char[] a = {'a', 'b', 'c'}; char ch = 'd'; とあったときに、aにchを加えて char[] b = {'a', 'b', 'c', 'd'}; を作成したいです。 よろしくお願い致します。 PHPである配列からある用件を満たす要素のみ取り出 1 1.1 1.1.1 1.2 1.2.1 1.2.3 1.3 1.4 1.5.1 1.5.2 という文字列が配列に入ってまして、「1.数字」(つまり2階層)だけの文字列の配列を 取り出すにはどうすればいのでしょうか? PHPである配列からある用件を満たす要素のみ取り出 1 1.1 1.1.1 1.2 1.2.1 1.2.3 1.3 1.4 1.5.1 1.5.2 という文字列が配列に入ってまして、「1.数字」(つまり2階層)だけの文字列の配列を 取り出すにはどうすればいのでしょうか? javaで配列の配列を使うには javaで、文字列3個を要素とするstringArray[3]を要素とする配列arrayArrayを使いたいのですが、どうすればよいでしょうか。 2011年10月2日 2つの配列要素を比較して、一致しない要素を別配列にしたい 配列A、配列B、配列C と仮にします。 配列Aから、配列Bと一致しなかった要素の値を配列Cに入れる (一致した分を除外したい) みたいなことをデータベースを使用せずに、Perlで実現したいのですが可能でしょうか? 複数配列で重複する文字列を削除する方法 PHPで複数配列で重複する文字列が含まれている場合の処理の仕方について $a[0] = "あああいいいうううかかかききき"; $a[1] = "あああいいいうううかかかくくく"; $a[2] = "あああいいいうううかかかけけけ"; $a[3] = "あああいいいうううきききききき"; 上記のような配列があったとします(配列の要素数については可変です) 上記配列の中で共通する文字列を削除し(文字列の先頭のほうを削除) $a[0] = "かかかききき"; $a[1] = "かかかくくく"; $a[2] = "かかかけけけ"; $a[3] = "きききききき"; のようにしたいのですが処理方法が思い浮かびません。 文字列を分解して比較する処理まではできるのですが、要素数が3つになったり7つになったりした場合の方法が思い浮かびません。 どなたか 分かる方よろしくお願いします。 PHPでfile()を使った際の配列の要素について PHPのfile関数の動作について質問させて頂きます。 テキストファイルからfile()を使って配列に各行のデータを取り込んだのですが、その配列から特定の要素を探そうとしたところ、検出できませんでした。 テキスト.txtの内容------- AAA BBB CCC --------------- $array = file("テキスト.txt"); $word = "AAA"; $keys = array_keys($array,$word); var_dump($keys); 簡略化しましたが、こんな感じで実行するとAAAが格納されているはずの[0]番目のkeyは検出されません。 bar_dumpを使って$array[0]と$wordを確認してみたところ、以下のようなデータが帰ってきました。 $array[0] → string(5) "AAA" $word → string(3) "AAA" まったく同じ文字列なのに、配列の方の長さが2ほど大きくなっています。 そこでtrimを使用してみたところ、配列からこの謎の2バイト?のデータが削除できました。 検索も正しく動作するようになりました。 文末に改行が入ってるのかとも思ったのですが、\nを削除する処理では検索が出来なかったので、不思議に思っております。 テキストファイルから取り込んだ際に、文字列の前か後ろに何らかの文字が入っているのだと思うのですが、実際どのような文字が入っているのでしょうか? ---------------------------------- それともう一つお聞きしたいのですが、 テキストファイル内容がある程度長い(100行以上、または1万文字以上など)場合、file()で配列にデータを取り込むのは負荷が大きかったりするのでしょうか? fgetsで1行ずつ取り出して比較する方法も考えたのですが、処理の繰り返しと取り込むデータの大きさのどちらに配慮するべきか悩んでいます。 もし100行や1万文字が多い・少ないという感覚になる場合、実際「配列にするには大きすぎる」という感覚はどれくらいの容量から考えるべきでしょうか? 後半の質問につきましては明確な答えで無くても、「自分はこう感じる」というような感覚的なご意見でもお聞きしたいと思っています。 お手数をおかけしますが、どうぞよろしくお願い致します。 perlで配列の要素が空なのを知るには? 教えてください。 例えば、perlの次の様な要素が3つある配列で、 @t = ('A',,'C'); 2要素目が空で有ることを判別したいのですが、どうしたら良いでしょうか? 注目のQ&A 「前置詞」が入った曲といえば? 恋愛相談です 株とFX コロナワクチンについて 子供を持たないとか (多様性?) 天動説、地動説・・でその後が無いのは? ブルーレイディスクの使い方がわからない。 なぜ昔の家はカーポートじゃなく車庫が多い? 食べ残った食べ物を容器に入れて持ち帰りたい時の言葉 何事もうまくいかない人生について カテゴリ [技術者向] コンピューター プログラミング・開発 Microsoft ASPC・C++・C#CGIJavaJavaScriptPerlPHPVisual BasicHTMLXMLCSSFlashAJAXRubySwiftPythonパフォーマンス・チューニングオープンソース開発SEOスマートフォンアプリ開発その他(プログラミング・開発) カテゴリ一覧を見る あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど