使用PHP从一段文本中检索整数

时间:2013-06-12 18:02:14

标签: php regex

有人可以解释我如何删除特定整数的字符串吗?

我的字符串是:4 Teams

所以无论在哪里找到“团队”这个词,我都想在此之前提取整数。

这可能吗?我将如何实现这一目标?

非常感谢:)

3 个答案:

答案 0 :(得分:4)

  

无论在哪里找到“团队”这个词,我都想在此之前提取整数。

这个正则表达式正如你所说:

'(\d+)\s+Teams'

像这样使用:

$mytext = "I have 3 Teams, then 4 Teams, then only 3 Teams";
preg_match_all('/(\d+)\s+Teams/', $mytext, $matches);
$teams = $matches[1];

$mathes[1]包含第一个(也是唯一的)带括号的组匹配的所有内容,因此$teams应该是数组[3, 4, 3]

PS。 Hamza已经提出了正确的regexp ...并且感谢我修复了我的代码!

答案 1 :(得分:1)

你走了:

    $str = 'blah blah blah 12'
    preg_match_all('!\d+!', $str, $integers);
    print_r($integers);

preg_match_all非常适合这种情况。

答案 2 :(得分:0)

它始终是字符串中的第一件事吗?如果是这样,请使用intval。

echo intval('4 teams');