Поиск php заменит интересное задание - PullRequest
0 голосов
/ 19 апреля 2011

У меня есть интересная головоломка, чтобы решить. Мы должны преобразовать следующую переменную с помощью команды PHP find replace

from:
$string = '
h= 1.00                h= 2.00  h= 3.50
W= 1.50                w= 3.00  w= 4.50
st=5000                st=6000  st=7000
';

to:
$string = '
A=1.00, B=2.00, C=3.50
A=1.50, B=3.00, C=4.50
A=5000, B=6000, C=7000
';

Это означает, что форматирование строковых данных должно быть удобным, и иногда столбцы равны только 2, но иногда столбцы равны 3, 4, 5 или даже 10

Мне нужен PHP, чтобы сделать это для меня, но я не знаю, какой код будет полезен для него.

Может быть, preg_replace может быть полезным, но я не уверен.

Заранее спасибо за помощь ...

1 Ответ

0 голосов
/ 19 апреля 2011

Вы можете использовать что-то упрощенное, например:

preg_match_all('/\w+=\s*([\d.]+).+\w+=\s*([\d.]+).+\w+=\s*([\d.]+)/',
     $input, $values, PREG_SET_ORDER);
print_r($values);

Это извлечет данные по строкам:

[0] => Array
    (
        [0] => h= 1.00                h= 2.00  h= 3.50
        [1] => 1.00
        [2] => 2.00
        [3] => 3.50
    )

, которые затем легко переформатировать и переименовать.

foreach ($values as $row) {
    array_shift($row);
    $output .= "A=$row[0], B=$row[1], C=$row[2]\n";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...