0

次の文字列があり、それを細かく切る必要があります。しかし、これを正しく行う方法は?

文字列:$sting = 0nl10000143947019,23000143947456,....,10450143947022

...より多くの nrs がここに入ることができることを意味します

ここで、この文字列を次の部分に切り詰めたいと思います。

$first文字列の最初の nr または文字が含まれます。したがって、この場合は次のようになります。0

$second文字列の 2 番目と 3 番目の nrs または文字が含まれます。したがって、この場合は次のようになります。nl

$third文字列の 3 番目の nr または文字の後にすべてが含まれます。したがって、この場合は次のようになります。10000143947019,23000143947456,....,10450143947022

$fourth文字列の最後の後にすべてが含まれ,ます。この nr は、この例より大きくても小さくてもかまいません。したがって、この場合は次のようになります。10450143947022

これが可能であることを願っています!

敬具

4

3 に答える 3

3

正規表現はそれを行う必要があります。ここにあなたが始めるための何かがあります

preg_match("/^(\d+)([a-z]+)(.*?,([^,]*))$/i", $string, $m);

print_r($m);

ここを参照してください:

http://ideone.com/Xk1oV

于 2012-06-08T09:04:24.633 に答える
3

簡単な正規表現で

([0-9A-Za-z]{1})([0-9A-Za-z]{2})(.*)\,([^\,]+)$

動作するはずです。PHPでは、これは次のように機能します

$string = "0nl10000143947019,23000143947456,23000143947456,10450143947022";
preg_match("@([0-9A-Za-z]{1})([0-9A-Za-z]{2})(.*)\,([^\,]+)$@i", $string, $matches);
// map $matches to the right variables. But you can do that yourself :-)
于 2012-06-08T09:04:43.793 に答える
2

次のことを試してください。

$first = substr($sting,0,1);
$second = substr($sting,1,2);
$third = substr($sting,3);
$fourth = end(explode(',',$sting));
于 2012-06-08T09:10:05.537 に答える