正则表达式用于选择数字和小数点之间的空格

时间:2010-06-02 19:21:16

标签: php regex replace lookahead lookbehind

我想从空格前面有数字或“。”的字符串中删除空格。并以数字或“。”加入。我有一些字符串:“50 .10”,“50.10”,“50。10”,我希望它们都变为“50.10”,但两边都有未知数字。我正在尝试这样的前瞻/后瞻断言:

$row = str_replace("/(?<=[0-9]+$)\s*[.]\s*(?=[0-9]+$)/", "", $row);

但它不起作用......

2 个答案:

答案 0 :(得分:2)

也许是一个简单的

$row = preg_replace('#(\d+)\s*\.\s*(\d+)#', '$1.$2', $row);

就足够了吗?

答案 1 :(得分:0)

$str = '50 .10, 50 . 10, 50. 10';
$str = preg_replace('/(\d+)\s*\.\s*(\d+)/', '$1.$2', $str);
echo($str);  // results in "50.10, 50.10, 50.10"