PHP中怎么利用正则表达式删除除逗号和点以外的非数字字符,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
给你一个字符串“$123,34.00A
”,要求你用正则表达式删除除逗号和点以外的非数字字符,也就是说我们需要写一个PHP代码获取“123,34.00
”,毕竟$
和A
就属于除逗号和点以外的非数字字符。
非常简单啦~
上代码:
<?php $str1 = "$12,334.00A"; echo preg_replace("/[^0-9,.]/", "", $str1)."\n";
没看错,这么简短的两行代码就可以完成我们的要求:
运行结果:
搞定!
这里就是介绍一个重要的函数preg_replace
,该函数能执行一个正则表达式的搜索和替换。
其语法是“mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
”,表示搜索 subject 中匹配 pattern 的部分, 以 replacement 进行替换。
其中几个参数具体表示:
$pattern: 要搜索的模式,可以是字符串或一个字符串数组。
$replacement: 用于替换的字符串或字符串数组。
$subject: 要搜索替换的目标字符串或字符串数组。
$limit: 可选,对于每个模式用于每个 subject 字符串的最大可替换次数。 默认是-1(无限制)。
$count: 可选,为替换执行的次数。
那么关于preg_replace("/[^0-9,.]/", "", $str1)
,这个表达式的意思就是,匹配除了0-9间的数字以及逗号和点号以外的字符,并将这些字符替换为空即删除即可。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。