2

再会。

当有数字和其他符号时我有字符串(例如1412%2Fall

请告诉我如何将字符串修剪为不是数字的符号?

PS: 例如。1412%2Fall结果应该是1412;例如。23422345Dc#5结果应该是23422345,和其他...

4

4 回答 4

7

只需使用(int)intval()preg_match它。
(int)并且intval()几乎做同样的工作。但是,将修剪字符串开头的零。
使用preg_match可以通过保持开头的零来提供帮助。

试试下面的代码

preg_match("/^[0-9]+/", "1412%2Fall", $result1);
echo $result1[0]; //output: 1412
preg_match("/^[0-9]+/", "01412%2Fall", $result2);
echo $result2[0]; //output: 01412 (keeps the zero)

echo (int) '1412%2Fall'; //output: 1412
echo (int) '01412%2Fall'; //output: 1412

echo intval( '1412%2Fall' ); //output: 1412
echo intval( '01412%2Fall' ); //output: 1412
于 2013-07-04T13:18:38.380 回答
3

使用preg_matchPHP的功能:

$str = "1412%2Fall";
$match = array();
preg_match("/^[0-9]+/",$str,$match);

您可以在 中找到您的结果$match[0]

于 2013-07-04T13:22:37.180 回答
2

您绝对可以使用正则表达式来做到这一点,但这也可以:

$some_string = "321312mcvsdf";
$number = (int) $some_string; //321312
于 2013-07-04T13:19:33.993 回答
1

尝试使用preg_replace('/\D/', '', $youstring)

于 2013-07-04T13:18:20.067 回答