问题:
有一个字符串例如: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!属性时,结果如下: