0

文字列をリスト番号から始まる配列に分割するにはどうすればよいですか (文字列内の "2. " など)。

入力:
1. new zealand 0.909991233 2. france and it territories 0.114444444 3. united states 0.99991119991 and so on

出力:

array (
   "1. new zealand 0.909991233",
   "2. france and it territories 0.114444444",
   "3. united states 0.99991119991"
)

前もって感謝します!

PS。とても簡単ではないことはわかっています;)

4

3 に答える 3

1

これはそれを行う必要があります:

$str = "1. new zealand 0.909991233 2. france and it territories 0.114444444 3. united states 0.99991119991";

$pattern = '/(\d+\.\s)/i';
$replacement = '; $1';
$str = preg_replace($pattern, $replacement, $str);
$arr = explode('; ', $str);

echo implode("<br>", $arr);
于 2013-10-04T03:45:20.623 に答える
0

それほど悪くはありませんが、実際に機能するのは 1 行です。

<?php
// Input
$input = "1. new zealand 0.909991233 2. france and it territories 0.114444444 3. united states 0.99991119991";

// Split the input
$ex = preg_split( "#(?=\d+\.\s+)#", $input);

// (Optional) Lose the empty result
unset( $ex[0] );

// Output
var_dump( $ex );

http://codepad.org/wxtmbU15

于 2013-10-04T03:44:30.320 に答える