PHP에서는 정규식과 preg_match_all()
함수를 사용하여 문자열에서 숫자를 추출할 수 있습니다. 다음은 문자열에서 모든 숫자를 추출하는 방법에 대한 예입니다.
$my_string = "There are 15 Oranges and 3 Bananas.";
preg_match_all('/[0-9]+/', $my_string , $matches);
print_r($matches[0]);
그러면 다음이 출력됩니다.
Array ( [0] => 15 [1] => 3 )
설명:
/[0-9]+/
는 하나 이상의 연속 숫자를 검색합니다.preg_match_all()
함수는 문자열에서 정규 표현식이 모두 나타나는지 검색하고 일치하는 항목을 $matches
배열에 저장합니다.print_r()
함수는 배열의 내용을 표시하는 데 사용됩니다.preg_replace()
함수를 사용하여 문자열에서 숫자가 아닌 문자를 제거하고 숫자만 유지할 수도 있습니다.
$string = "There are 15 Oranges and 3 Bananas.";
$numbers = preg_replace('/D/', '', $string);
echo $numbers;
그러면 다음이 출력됩니다.
15 3
설명:
/D/
는 숫자가 아닌 모든 문자와 일치합니다.preg_replace()
함수는 숫자가 아닌 모든 문자를 빈 문자열로 대체하여 문자열에서 효과적으로 제거합니다.또 다른 방법이 있지만 위의 두 가지 옵션만큼 신뢰할 수는 없습니다. filter_var()
PHP 내장 함수를 사용하여 문자열에서 int를 추출할 수 있습니다.
$string = "There are 15 Oranges and 3 Bananas.";
// extract numbers from string
$my_int = (int)filter_var($string ,FILTER_SANITIZE_NUMBER_INT);
echo $my_int;
그러면 다음이 출력됩니다.
153