Hay, i have a string like this:
v8gn5.8gnr4nggb58gng.g95h58g.n48fn49t.t8t8t57
I want to strip out all the characters leaving just numb开发者_运维知识库ers (and .s)
Any ideas how to do this? Is there a function prebuilt?
thanks
$str = preg_replace('/[^0-9.]+/', '', $str);
replace substrings that do not consist of digits or . with nothing.
preg_replace('/[^0-9.]/', '', $string);
$input = 'some str1ng 234';
$newString = preg_replace("/[^0-9.]/", '', $input);
To satisfy my curiosity I asked about the speed of the proposed answers and as shown in preg_replace speed optimisation/ it is (much) faster to use str_replace()
than preg_replace()
.
So you might want to use str_replace()
instead.
Here is the shortest one:
$str = preg_replace('/\D/', '', $str);
\D = all non-digits.
精彩评论