как извлечь номер в php с помощью regex?

115
13

Если я хочу извлечь только "7.20" из "$ 7.20", как я могу это сделать? Я попробовал

preg_replace("[^0-9]", "", "$ 7.20");

но это не работа. Он также показывает $ 7.20... Нет никакой разницы...

спросил(а) 2011-10-13T17:16:00+04:00 9 лет назад
1
Решение
91

preg_replace('/[^.0-9]/', "", "$ 7.20");

Ваше регулярное выражение необходимо разграничить, начать и завершить. Обычно/используется как разделитель.

Что вы имеете выше: [^0-9]

Исходный [ будет интерпретироваться как разделитель (в паре с ] в конце).

Это было похоже на замену 0-9 буквально в начале строки.

ответил(а) 2011-10-13T17:17:00+04:00 9 лет назад
59

Вы также можете попробовать sscanf, обычно проще в использовании


sscanf( '$ 7.20', '$ %f' );

ответил(а) 2011-10-13T18:35:00+04:00 9 лет назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема