2014-02-02 2 views
0

У меня есть координаты в форматеКак высыпали части строки

43-09-42.0000N

Я хочу, чтобы разделить его на составные части

43 09 42,000 N

Я использую.

$parts = preg_split('/[-]/', $LON); 

и это дает мне

Array ([0] => 43 [1] => 09 [2] => 42.0000N)

Но я не могу понять, кто получить письмо в конце, чтобы вылилось.

Любая помощь оценена Я полный наркотик, когда дело доходит до регулярного выражения.

ответ

1

Если вы хотите разделить его (что может быть полезно при изменении формата) вы могли бы использовать что-то вроде:

$parts = preg_split('/-|(?<=\d)(?=[a-z])|(?<=[a-z])(?=\d)/i', $LON); 

Если формат не изменяет вам лучше использовать что-то вроде Mark's answer.

Если формат немного меняется, вы можете использовать регулярное выражение, которое допускает некоторые варианты.

+0

отлично работает. Я обещаю выяснить, почему, прочитав документацию ..... –

1
$string = '43-09-42.0000N'; 

$result = sscanf($string, '%d-%d-%[0-9.]%s'); 
var_dump($result); 
+0

ваш ответ работает отлично спасибо ?? sscanf ($ string, '% d-% d -% [0-9.]% s', $ deg, $ min, $ sec, $ dir); <= это позволит мне передать параметры? –

+0

Это или 'list ($ deg, $ min, $ sec, $ dir) = sscanf ($ string, '% d-% d -% [0-9.]% S');' –

Смежные вопросы