我的格式为:
123232.23
43438282.00
我想将它们提取并存储到两个变量$ dollar和$ cent。
第一个文本的所需结果如下:
$dollar = '123232'
$cent = '23'
如何在PHP中使用正则表达式实现。
答案 0 :(得分:6)
答案 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
)
)