如何删除所有非字母数字字符和前导零 [英] How can I remove all non alpha numeric characters and leading zeros

查看:61
本文介绍了如何删除所有非字母数字字符和前导零的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用正则表达式从字符串中删除除字母和数字字符之外的所有内容,并且需要删除所有前导零.

I want to remove everything from a string using regular expression except alpha and numeric characters and I need any leading zero removed.

以下有效但不会删除前导零

The below works but does not remove leading zeros

$string = '00000000A1234567890-=qwesss     €#¢∞§¶¶•ªº–  ≠≠rtyuuiop[]\';lkjhgfdsazxcvbnm,./';

$pattern = '/([^\da-z]/i)';
$replacement = '';
echo preg_replace($pattern, $replacement, $string);

如何更改模式以删除前导零?

How can i alter the pattern to remove leading Zeros?

推荐答案

这个可行:

<?php
$string = '00000000A1234567890-=qwesss     €#¢∞§¶¶•ªº–  ≠≠rtyuuiop[]\';lkjhgfdsazxcvb00000nm,./';

$pattern = '#^(0*)|([^\da-z])#i';
$replacement = '';
echo preg_replace($pattern, $replacement, $string);

编辑

这个模式也可以简化为:

This pattern can also be simplified to:

$pattern = '#^0+|\W#';

这篇关于如何删除所有非字母数字字符和前导零的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆