PB快速去除字符串中的非数字字符

问题:

      有一个字符串例如:61B2993B2ACC8C57A2FB7F5FC587F84D ,

在PB中如何才能将其字符串中的字母去除了(将B、A、C、D、E、F...去除),
留下612993285727558784单纯数字的字符串。

 

      常规的方法是通过for循环,逐个进行判断并剔除,如:

      这种方法中规中矩,当然是一种合理的容易理解的解决方案。

     

      这里我们使用另外一种快捷的方法,用到的是EditMask控件的Mask属性。

      经过试验,发现:

      (1)当EditMask的MaskDataType属性设置为NumericMask!,Mask属性设置为“##...”时,最多可以输入16位的数字,粘贴数据时会自动过滤掉非数字的字符,当最终留下的数字个数超过16位时,第16位数的数字会根据第17位数字的大小来决定是否进1,而第17位开始的数字都会被替换为0;

      (2)当EditMask的MaskDataType属性设置为DecimalMask!,Mask属性设置为“##...”时,最多可以输入19位的数字,粘贴数据时会自动过滤掉非数字的字符,当最终留下的数字个数超过19位时,留下的字符串将为空字符串;

      (3)当EditMask的MaskDataType属性设置为StringMask!,Mask属性设置为“##...”时,可以输入无限的数字,粘贴数据时会自动将非数字的字符替换为空格符。

     

      根据以上试验,可以使用如下代码来实现替换:

 

      至于用StringMask!属性时,结果如下:



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值