regex - How to split negative and positive values in string using php? -



regex - How to split negative and positive values in string using php? -

i have string variable in php, "0+1.65+0.002-23.9", , want split in individual values.

ex:

0 1.65 0.002 -23.9

i seek with:

$keys = preg_split("/^[+-]?\\d+(\\.\\d+)?$/", $data);

but not work expected.

can help me out? lot in advance.

like this:

$yourstring = "0+1.65+0.002-23.9"; $regex = '~\+|(?=-)~'; $splits = preg_split($regex, $yourstring); print_r($splits);

output (see live php demo):

[0] => 0 [1] => 1.65 [2] => 0.002 [3] => -23.9

explanation

our regex +|(?=-). split on whatever matches it matches +, or |... the lookahead (?=-) matches position next character -, allowing maintain - then split!

option 2 if decide want maintain + character

(?=[+-])

this regex 1 lookahead asserts next position either plus or minus. sense of esthetics it's quite nice solution at. :)

output (see online demo):

[0] => 0 [1] => +1.65 [2] => +0.002 [3] => -23.9

reference

lookahead , lookbehind zero-length assertions mastering lookahead , lookbehind

php regex

Comments

Popular posts from this blog

php - Android app custom user registration and login with cookie using facebook sdk -

django - Access session in user model .save() -

php - .htaccess Multiple Rewrite Rules / Prioritizing -