1

文字列から数値を抽出したいのですが、文字列は1,239 peoples. 1239上記の文字列からの出力が必要です。その数を抽出するために、次の安価な方法を使用しました....

$text='1,239 peoples';
$text=str_replace(',','',$text);
preg_match_all('!\d+!', $text, $matches);
echo $matches[0][0];

そのためのより良い解決策はありますか..事前に感謝します...

4

3 に答える 3

2

文字列内の数値ではないものはすべて何も置き換えずに、数値だけの文字列が得られます。

$string = preg_replace("/[^\d]/", "", $string);
echo $string;
于 2013-07-23T07:58:06.433 に答える
1

より安全な方法は、最初に必要なものを抽出し、適切な形式を指定した後でのみ抽出することです。例:

if (preg_match('~\d+(?:,\d+)*(?:\.\d+)?~', $string, $match))
    $result = str_replace(',', '', $match[0]);
于 2013-07-23T08:02:37.470 に答える