0

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

4

4 回答 4

3

简单地

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

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

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

编辑

正如评论中提到的,如果有超过 1 个部分,那将是:

$result = array_pop(explode('-', $string));
于 2013-10-16T11:47:38.133 回答
1
$bits = explode('-', $inputstring);
echo $bits[1];
于 2013-10-16T11:48:13.703 回答
1

您可以substr()使用strpos()

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

输出:

5.99

演示!

于 2013-10-16T11:50:11.093 回答
0

如果数据是这样的:“1-Cup tea-2.99”,那么

$data = "1-Cup tea-2.99";
$data = explode('-', $string);
$result = $data[count($data)-1];
于 2013-10-16T11:52:22.097 回答