在PHP中剥离一串字符

时间:2011-06-13 18:03:55

标签: php

  

可能重复:
  stripping out all characters from a string, leaving numbers

我有一些API生成的内容如下:34 Canadian Dollars。我试图摆脱字母字符,只保留数字字符。我怎么能这样做?

5 个答案:

答案 0 :(得分:4)

$result = preg_replace('/[^0-9\.,]/', '', $input);

HTH。

编辑接受逗号和句号。

答案 1 :(得分:2)

鉴于您正在使用货币并且该数字可能包含逗号或小数点,您应该使用此代码:

preg_match('/([0-9\.,]+)/', $input, $matches);

// Output the amount.
echo $matches[1];

答案 2 :(得分:0)

preg_match对此非常适合。

preg_match("/^([0-9]*) *$/", $inputStr, $results);
echo $results[1];

此外,这个online regex tester是测试其他正则表达式模式的好地方。

答案 3 :(得分:0)

如果是您尝试收集的整数,则可以使用(int) $input

答案 4 :(得分:0)

好吧,我不知道你的目的,但如果数字总是在字符串的开头,你可以使用cast。

$int = (int)"34 Canadian Dollars";

OR

$string = "34 Canadian Dollars";
$number = (int)$string
希望有所帮助。另一个答案中的preg_replace也可以完成这项任务。