只获得字符串的一部分

时间:2014-08-02 04:25:56

标签: php preg-replace preg-match

我有一个这样的字符串:

$myString = "line40";

值40是可变的(我有一组随机数)。

我想只获得40号(或任何其他随机数 - 40只是一个例子)。

就像这样:

$newString = 40;

我尝试使用正则表达式,但我失败了......请有人可以帮助我吗?

非常感谢。

3 个答案:

答案 0 :(得分:1)

$newString = preg_replace('/\D/', '', $myString);

正则表达式\D匹配任何不是数字的东西。这样就无需替换它们。

答案 1 :(得分:0)

尝试preg_match()

$myString = 'line40';
preg_match('/([0-9])+/', $myString, $m);
echo $m[0]; // 40

答案 2 :(得分:0)

这个怎么样,你可以使用filters

$myString = "line40";
$myString = filter_var($myString, FILTER_SANITIZE_NUMBER_INT);
echo $myString; //output: 40

参考:http://php.net/manual/en/filter.filters.sanitize.php