【问题标题】:Unable to split using explode containing two hyphen无法使用包含两个连字符的爆炸进行拆分
【发布时间】:2017-10-07 02:44:57
【问题描述】:
$str = "SC - ESV Parndorf 2 - 5 SV Horn";
$str4 = explode(" - ", $str,2);
$str5=$str4[0];     
$str6 = explode(" ", $str5);
$Num=end($str6);        
$str7=$str4[1];     
$str8 = explode(" ", $str7);
$Num1 = $str8[0];

如果我有两个“-”,则无法从字符串中获取数字 2 和 5。

【问题讨论】:

  • 欢迎来到 stackoverflow.com!请阅读How to AskHow to create a Minimal, Complete, and Verifiable example,然后相应地编辑您的问题。您可能还想查看网站导览,了解更多关于这里的工作原理。
  • 我只想提取分数。
  • 回答很有帮助,但是......“感谢您的反馈!声望低于 15 人的投票会被记录下来,但不要更改公开显示的帖子得分。”

标签: php explode preg-split


【解决方案1】:

这样的工作,你最好使用preg_match

$re = '/(\d+)\s+-\s+(\d+)/';
$str = 'SC - ESV Parndorf 2 - 5 SV Horn';
preg_match($re, $str, $matches);
print_r($matches);

说明:

/           : regex delimiter
    (\d+)   : group 1, 1 or more digits
    \s+-\s+ : a dash between some spaces
    (\d+)   : group 2, 1 or more digits
/           : regex delimiter

输出:

Array
(
    [0] => 2 - 5
    [1] => 2
    [2] => 5
)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多