如何将字符串修剪为不是数字的符号?

时间:2013-07-04 13:15:23

标签: php string

美好的一天。

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

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

P.S .: 对于前。 1412%2Fall结果应为1412;对于前23422345Dc#5结果应为23422345,其他结果为

4 个答案:

答案 0 :(得分:7)

只需使用(int)intval()preg_match即可 (int)intval()几乎完成同样的工作。但是,将修剪弦乐开头的零点。
使用preg_match可以保持起始零点。(
) 的 Try the code below

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

答案 1 :(得分:3)

使用PHP的preg_match功能:

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

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

答案 2 :(得分:2)

你绝对可以用正则表达式做到这一点,但这也可行:

$some_string = "321312mcvsdf";
$number = (int) $some_string; //321312

答案 3 :(得分:1)

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