我讨厌正则表达式,我希望有人可以帮助使用preg_replace的regualar表达式。
我想从字符串中删除不需要的characers,只使用preg_replace返回一个数值。
字符串格式如下:
一些文字£100
£100 SOME TEXT
一些文字100一些文字
非常感谢
答案 0 :(得分:17)
$NumericVal = preg_replace("/[^0-9]/","",$TextVariable);
[]中的^表示除以下
之外的任何内容 修改强>
删除了多余的+
答案 1 :(得分:8)
$l = preg_replace("/[^A-Z0-9a-z\w ]/u", '', $l);
作品女巫UTF-8,只允许A-Z a-z 0-9łwóc......等等
答案 2 :(得分:0)
preg_replace('/[^0-9]/','',$text);
答案 3 :(得分:0)
试试这个:
preg_replace("/\D+/", "", "SOME TEXT £100")
您还可以使用preg_match
获取第一个号码:
preg_match("/\d+/", "SOME TEXT £100", $matches);
$number = $matches[0];