在分隔符后在PHP中提取字符串的字符

时间:2016-03-20 10:14:49

标签: php substring

我有一个PHP字符串,其中包含:Pancake,Waffle -400(这是我数据库中的一些数据) 我想从上面的字符串中提取400。我尝试过使用explode函数和strtok ..似乎没有用。

这就是我使用爆炸功能的方法:

$msg="Pancake, Waffle -400";
$amt=explode("-", $msg);
echo $amt[0];

是否有其他方法可以在连字符后提取字符?

3 个答案:

答案 0 :(得分:0)

一些正则表达式解决方案?

$msg = "Pancake, Waffle -400";
$regex = '~-?\d+~';
preg_match($regex, $msg, $match);
print_r($match);

现在,$match[0]拥有-400。查看 demo on ideone.com

答案 1 :(得分:0)

使用substr和strpos:

$msg="Pancake, Waffle -400";
echo substr($msg, strpos($msg, '-') + 1);

如果您只想要' 400'部分:

{{1}}

答案 2 :(得分:0)

为了避免在最后一个数据之前数据中出现连字符的问题,我会使用strrchr,如下所示:

$msg = "Pancake, Waffle -400";
$amt = substr(strrchr($msg, "-"), 1); // substr removes the '-' from the result
echo $amt;