再会。
当有数字和其他符号时我有字符串(例如1412%2Fall
)
请告诉我如何将字符串修剪为不是数字的符号?
PS:
例如。1412%2Fall
结果应该是1412
;例如。23422345Dc#5
结果应该是23422345
,和其他...
只需使用(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
使用preg_match
PHP的功能:
$str = "1412%2Fall";
$match = array();
preg_match("/^[0-9]+/",$str,$match);
您可以在 中找到您的结果$match[0]
。
您绝对可以使用正则表达式来做到这一点,但这也可以:
$some_string = "321312mcvsdf";
$number = (int) $some_string; //321312
尝试使用preg_replace('/\D/', '', $youstring)