注册登陆后可查看附件和大图,以及购买相关内容
您需要 登录 才可以下载或查看,没有账号?注册会员
x
在群里有人问,一个字符串即有字母也有数字,可能还包含了符号,如何将其中的字母全部提取出来,例如ABC124defg456.1454;!(*#EFKLab00这样的字符串,想提取其中的所有字符(包含大小写)。在LabVIEW中要如何实现呢?
这个问题,相对还是比较好实现的。当然,不能一个函数能解决,基本上都需要逐个字符来判断,如果是A-Z,a-z则认为是目标,如果不是,则不是。方法有两种,一种是使用ASCII码来判断,因为A-Z,a-z的ASCII码是固定的,将每个字符串都转换为ASCII码后,判断是不是在A-Z/a-z的码值范围内,即可确定是不是需要的字符。这种方法是需要每个字符都判断的。这里就不介绍了,可以参考一下视觉论坛的文章:
LabVIEW包含字母数字中文和不可见字符串拆分为数组_LabVIEW_图像处理|编程|机器视觉_视觉论坛VISIONBBS_视觉之家VISIONHOME_机器视觉光源_光源控制器_工业相机_工业镜头_机器视觉方案系统_图像处理教程_石鑫华视觉网_机器视觉论坛
http://www.visionbbs.com/thread-21219-1-1.html
本贴主要介绍第二种方法,这种方法是使用编程》字符串》匹配模式函数来处理。即对需要的目标的对象做正则表达式,然后匹配。匹配子字符串为需要的目标,子字符串之前的则为非目标对象。但是这样的话,只能匹配一次,这里加入一个WHILE循环,然后将子字符串之后的作为下一次匹配的字符串值重新做匹配,WHILE的停止条件则以匹配偏移量是不是等于-1来做判断。匹配字符串、子字符串之前都使用连接字符串将所有匹配的目标连接起来。
一个字符串即有字母也有数字如何将其中的字母全部提取出来
LabVIEW提取字符串中所有字母示例效果
附件为LabVIEW的VI例子,LabVIEW版本为2019版本
|