如何从PHP的末尾获取部分字符串?

时间:2013-10-16 11:46:21

标签: php regex string

我正在申请从用户收到字符串的应用程序。字符串与 - 之间的字符连接在一起。字符串的第一部分包含字母数据,而后面的部分包含整数或浮点数。例如:一个字符串可能是3 Cups Tea-5.99。我希望将字符串5.99的后面部分用 - 字符分隔。怎么做?我知道PHP substr()函数,但它使用固定字符从中检索子字符串。但在这种情况下,后面的部分将不会被修复。例如:2牛仔裤-65.99。在这种情况下,我需要最后4个字符,这意味着我不能使用substr()函数。 有解决方案吗? 我知道我需要应用正则表达式,但我在Regex中完全是新手。 等待你的帮助。 谢谢!

4 个答案:

答案 0 :(得分:3)

简单地

$result = explode('-', $string)[1];

对于PHP< 5.4,您必须使用临时变量:

$data = explode('-', $string);
$result = $data[1];

修改

如评论中所述,如果有超过1个部分,那将是:

$result = array_pop(explode('-', $string));

答案 1 :(得分:1)

$bits = explode('-', $inputstring);
echo $bits[1];

答案 2 :(得分:1)

您可以substr()使用strpos()

$str = '3 Cups Tea-5.99';
echo substr($str, strpos($str, "-") + 1);

输出:

5.99

Demo!

答案 3 :(得分:0)

如果数据如下:“1杯茶2.99”,那么

$data = "1-Cup tea-2.99";
$data = explode('-', $string);
$result = $data[count($data)-1];