我讨厌正则表达式,我希望有人可以帮助调节表达式与preg_replace一起使用。preg_replace - 从字符串中去掉不需要的字符以返回数字值
我想从字符串中去掉不需要的字符串,只使用preg_replace返回一个数值。
的字符串格式可能如下:
SOME TEXT£100
£100 SOME TEXT
SOME TEXT 100 SOME TEXT
非常感谢
我讨厌正则表达式,我希望有人可以帮助调节表达式与preg_replace一起使用。preg_replace - 从字符串中去掉不需要的字符以返回数字值
我想从字符串中去掉不需要的字符串,只使用preg_replace返回一个数值。
的字符串格式可能如下:
SOME TEXT£100
£100 SOME TEXT
SOME TEXT 100 SOME TEXT
非常感谢
$NumericVal = preg_replace("/[^0-9]/","",$TextVariable);
的^ []内是指除了以下
编辑 去除多余的东西+
试试这个:
preg_replace("/\D+/", "", "SOME TEXT £100")
您还可以使用preg_match
拿到的第一个数字:
preg_match("/\d+/", "SOME TEXT £100", $matches);
$number = $matches[0];
$l = preg_replace("/[^A-Z0-9a-z\w ]/u", '', $l);
作品女巫UTF-8,只允许A-Z a-z 0-9łwóc...等
所以所有这些产量100,对吧? `1abc00`会发生什么? – BoltClock 2011-01-09 13:48:03
更棒的是,“£1.00”呢? – Kobi 2011-01-09 13:52:30