将字符串拆分为PHP部分

时间:2009-04-03 21:16:01

标签: php regex string

我需要拆分以下字符串。

$string = "This is string sample - $2565";
$split_point = " - ";

一: 我需要能够使用正则表达式或任何其他匹配将字符串拆分为两部分,并指定要拆分的位置。

第二: 还想为$做一个preg_match,然后只在$。右边抓一个数字。

有什么建议吗?

4 个答案:

答案 0 :(得分:6)

$split_string = explode($split_point, $string);

preg_match('/\$(\d*)/', $split_string[1], $matches);
$amount = $matches[1];

如果你愿意,可以在一个正则表达式中完成:

$pattern = '/^(.*)'.preg_quote($split_point).'\$(\d*)$/'

preg_match($pattern, $string, $matches);
$description = $matches[1];
$amount = $matches[2];

答案 1 :(得分:1)

$parts = explode ($split_point, $string);
/*
$parts[0] = 'This is string sample'
$parts[1] = '$2565'
*/

答案 2 :(得分:1)

另外两个答案提到explode(),但您也可以限制将源字符串拆分成的部分数量。例如:

$s = "This is - my - string.";
list($head, $tail) = explode(' - ', $s, 2);
echo "Head is '$head' and tail is '$tail'\n";

愿意给你:

Head is 'This is' and tail is 'my - string.'

答案 3 :(得分:0)

explode是针对您的特定情况的正确解决方案,但如果您需要分隔符的正则表达式,则preg_split就是您想要的