PHP提取文本以句点分隔

时间:2011-11-21 06:17:47

标签: php split

我的格式为:

123232.23

43438282.00

我想将它们提取并存储到两个变量$ dollar和$ cent。

第一个文本的所需结果如下:

$dollar = '123232'

$cent = '23'

如何在PHP中使用正则表达式实现

3 个答案:

答案 0 :(得分:6)

为什么不将explodelist

一起使用
list($dollar, $cent) = explode('.', $text);

答案 1 :(得分:3)

以下是此正则表达式:

$regex = '~^(?P<dollar>\d+)\.(?P<cent>\d+)$~';

if (preg_match($regex, $number, $matches)) {
  //$matches['dollar']
  //$matches['cent']
}

答案 2 :(得分:1)

如果你只有一个单独的字符串,你可以使用一个简单的爆炸函数,但如果你在文本文件中有多个数字并且你想要提取它们,你可以在下面做这样的事情。

对于第一个分隔符,我使用换行符`\ n。你可以把它改成适合自己的东西。

$s = <<<ABC
123232.23
43438282.00
3333.66
ABC;

$arr = explode("\n", $s);
print_r($arr);
$exarr = array();
foreach($arr as $arv){
    $exarr[] = explode(".", $arv);
}

print_r($exarr);

这将解析每个或数字并输出类似于下面的内容:

Array
(
    [0] => 123232.23
    [1] => 43438282.00 
    [2] => 3333.66
)
Array
(
    [0] => Array
        (
            [0] => 123232
            [1] => 23
        )

    [1] => Array
        (
            [0] => 43438282
            [1] => 00 
        )

    [2] => Array
        (
            [0] => 3333
            [1] => 66
        )

)