• ベストアンサー

■str_split()で指定した文字数ではなく、指定した文字までを配列に入れることは可能ですか?

suzuki-_-の回答

  • suzuki-_-
  • ベストアンサー率77% (152/195)
回答No.1

$str = "今日はいい天気です。遠足に行きましょう。楽しかったですね。"; $arr = preg_split("/(.*?。)/",$str,-1,PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE); print_r($arr); 指定した位置で文字列を分けたい より応用 http://oshiete1.goo.ne.jp/qa3598814.html

makisi3
質問者

お礼

回答ありがとうございます! 参考URLまで張っていただき感謝しています!!

関連するQ&A

  • 連想配列でキーを利用して一部分を引き抜きたい

    PHP5.2.4を使用しています。 配列で一部分を引き抜く関数は次のようなarray_spliceで、 $arr = array('a' => 1, 'b' => 2, 'c' => 3); $arr2 = array_splice($arr, 1/*←ここに'b'と書きたい*/, 1); print_r($arr2);//←Array ( [b] => 2 ) print_r($arr);//Array ( [a] => 1 [c] => 3 ) これは第2引数に添え字の番号(上の例だと1)を指定しなければいけないのですが、 そうではなくて、キー('a'や'b'など)を指定して引き抜きたいです。 そのような関数などはあるのでしょうか?

    • ベストアンサー
    • PHP
  • splitについて教えてください。

    @name=("ひろと","けいた","はやと","りゅうすけ","とらのすけ"); @str=@name; print "@str\n"; @str=join(";",@str); print "<br>@str\n"; @str=split(/;/,@str); print "<br>@str\n"; 上記のような配列を作成したプログラムを実験で作ってみました。(一部抜粋です。htmlで表記されるようにしています。) ブラウザで見てみると、以下のようになりました。 ひろと けいた はやと りゅうすけ とらのすけ ひろと;けいた;はやと;りゅうすけ;とらのすけ 1 その中の3行目の「1」とだけ表示された理由がわかりません。 splitにより、joinで作成された一つの文字列を、 再び「;」で区切って要素数が5つの配列に戻したかったのですが、 なぜか1と返されてしまいました。 splitの使い方を教えていただけないでしょうか。

    • ベストアンサー
    • CGI
  • splitでの文字列分割

    文字列中の「,」で分割をしたいのですが 「\,」では分割したくありません このような場合、どのような正規表現をかけばいいのでしょうか? <?php $str = "asd,fgh,qwge\,zxc"; $ary_ary = split("[^\],",$str); print_r($ary_ary); ?> ------結果------ Array ( [0] => as [1] => fg [2] => qwge\,zxc ) いろいろ考えてみましたが 上のようにうまくいきませんでした ご教示おねがいします

    • ベストアンサー
    • PHP
  • 多次元配列を、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
  • マージ型文字列のデリミタ2文字以上のSplit関数のようなものは実現できますか?

    素人で間違っているかもしれませんが、String::Splitは wchar_tのように1文字だけしか使えないので、\r\nのような2文字以上のデリミタに対応しているperlのsplit関数みたいのを探しています。 以下のソースで※ここですの部分で、2文字以上の任意のデリミタでマージ型文字列を配列にしたいです。 .NETは覚えたてですが、Vista以降でも廃れることは無いのでしょうか? 覚えて無意味はきついので・・・ /* VC++2005でperlのようなsplit関数を実現したい 区切り文字は\r\n */ using namespace System; int main( array<String^>^ args ){ String^ str = nullptr; if (1 > args->Length ){ str = "太郎\r\n花子\\純一郎"; } else { str = args[0]; } // strマージ文字列をPerlのsplit関数のようなもので、以下のようなnamesを作成したい。 // $names = split /\r\n/ $str; <=※ここです。 array<String^> ^names = { "太郎", "花子", "純一郎" }; String^ name; for each ( name in names ) { Console::WriteLine("{0}", name); } return 0; }

  • javaで配列の中身を表示する方法

    こんばんは。 私は、PHPをやっていたのですが、今度はjavaにチャレンジしてみたいと思っています。 それで、質問です。 PHPでは重宝していたのですが、print_r()メソッドにあたるメソッドはないでしょうか? このメソッドは、配列やオブジェクトの中身を全て出力してくれるメソッドなのですが…。配列の構造が見たいときなどはとても重宝しました。 ex) ■プログラム $arr = array(1, 2, 3, 4, 5); print_r($arr); ■結果: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 ) ご存知の方いらっしゃいまいしたら、教えてください。

  • VBA split(文字列, ★) ★←複数デリミタ指定することできますか?

    VBAのsplit()関数ですが、 デリミタは1つしか指定できないのでしょうか? 例えば、 ------------------ 2005-5/23 19'02"40 ------------------ のような文字列を Perlの様に簡単に分割することは無理でしょうか? Array = split(文字列, /[ :\/\'\"-]/)

  • 文字列と配列の振る舞いの違いについて

    以下のコードで出るalertが Array => 12 String => 2 となります。この原因といいますか原理をご存じでしたら教えていただけませんでしょうか。お願いします。 =========================================================== var test = function(name){ this.arr.push(name); this.str += name; } test.prototype = { arr:[], str:"" } var r = new test("1"); var z = new test("2"); alert("Array => " + z.arr.join("") + "\nString => " + z.str);

  • テキストを多次元配列に格納したい

    $text="1;2;3:4;5;6:7;8;9:10;11;12:…"; $tmp = split(":",$text); これでtmpで格納された1;2;3、4;5;6、7;8;9、10;11;12をさらに分けて、多次元配列で格納しようと思います。 すなわち多次元配列"arrayについて、 print_r($array[0])の出力結果がArray ( [0] => 1 [1] => 2 [2] => 3 ) print_r($array[2])の出力結果がArray ( [0] => 7 [1] => 8 [2] => 9 ) となるような感じです。 しかし自分ではtmpからarrayへの変換がうまくいきません。 どなたかこのような働きをするコードを教えてください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 配列のキー取得

    現在の$str配列には、下記のようになっています。 Array ( [9] => test [5] => aaa [7] => bbb) print_r(array_keys($str)); とすると下記のように配列のキー値がわかりますが、 Array ( [0] => 9 [1] => 5 [2] => 7) キーを下記のように一つづつほかの配列に代入したい場合はどのようにしたらいいのでしょうか? for($i=0;$i<count($str);$i++){ $new_str[$i]=キーを取得する関数; } ご教授お願いいたします。

    • ベストアンサー
    • PHP