hg-labview字符串处理
LABVIEW字符格式说明

LABVIEW字符格式说明使用格式说明符格式化字符串、将数字转化为字符串,或在字符串中插入不显示的字符。
对于输出字符串的函数,例如格式化写入字符串和数组至电子表格字符串转换,格式说明符使用下列语法元素。
双括号( [] )中的是可选元素。
%[$][-][+][#][^][0][Width][.Precision || _SignificantDigits][{Unit}][]Conversion Code其中Width是一个大于零的数,.Precision和_SignificantDigits 是大于等于零的数。
对于扫描字符串的函数,例如,扫描字符串和电子表格字符串至数组转换,格式说明符使用下列语法元素。
%[Width]Conversion Code格式化写入字符串、格式化写入文件、扫描字符串和扫描文件函数可在格式字符串输入中使用多个格式说明符,每个格式说明符用于每个可扩展函数的输入或输出。
格式说明符语法元素下表列出了格式说明符的语法元素。
详细信息见格式说明符范例。
语法元素说明% 格式说明符的开始。
$(可选)使用格式函数时,该修饰符规定了显示变量的顺序。
包括代表变量顺序的位数,其后紧接该修饰符。
-(可选)使用格式化函数时,该修饰符在参数的宽度之内将参数靠左调整,而不是靠右调整。
+(可选)使用格式化函数时,即使是正数,该修饰符也包括符号。
^(可选)使用格式函数和e或g转换代码时,该元素将数格式化为科学计数法,其中指数为3的倍数。
#(可选)使用格式化函数时,该修饰符移除尾部的无效零。
如数值无小数部分,该修饰符会将有效数字精度之外的数值强制为零。
0(可选)使用格式化函数时,使用该修饰符,不带-修饰符,函数将用零而不是空格填充数值参数左边的多余空间,以达到最小宽度。
Width(可选)使用扫描函数时,如扫描字符串,Width元素规定了使用的字段的确切宽度。
LabVIEW处理参数时只扫描指定数量的字符。
使用格式化函数时,Width元素指定的输出字段的最小宽度。
虚拟仪器 labview 课件PPT 第七章 字符串与文件IO

第七章 字符串与文件I/O
子字符串的替换(Replace ⑥ 子字符串的替换(Replace Substring) 能实现字符串的插入、删除、替换和抽取, 能实现字符串的插入、删除、替换和抽取,节 点图标及接口: 点图标及接口:
第七章 字符串与文件I/O
第七章 字符串与文件I/O
⑦ 字符串的查找与替换(Search and Replace String) 能实现字符串的查找与替换,节点图标及接口: 能实现字符串的查找与替换,节点图标及接口:
第七章 字符串与文件I/O
滚动位置(Scroll ② 滚动位置(Scroll Position) 移动文本,其输入为无符号整数N 移动文本,其输入为无符号整数N。使文本的 行处于字符串控件的顶端。 第N行处于字符串控件的顶端。动态改变节点的 输入,可以使文本滚动显示。 输入,可以使文本滚动显示。
第七章 字符串与文件I/O
(3)Update Value While Typing 该选项有效后, 该选项有效后,输入或更改每一个字符的结 果都会同步地传递到端口上, 果都会同步地传递到端口上,即此时是逐个字符 更新到程序端口上的。缺省情况下( 更新到程序端口上的。缺省情况下(此项未选 ),控件只在字符串输入结束后 回车), 控件只在字符串输入结束后( ),才 中),控件只在字符串输入结束后(回车),才 会把结果传递给其它端口。 会把结果传递给其它端口。
第七章 字符串与文件I/O
2. 字符串控件菜单 在前面板字符串对象的右键弹出菜单中, 在前面板字符串对象的右键弹出菜单中,可以调 整字符串控件的显示模式和外观。 整字符串控件的显示模式和外观。
第七章 字符串与文件I/O
(1)显示模式 在字符串设置菜单中,共有4中模式: 在字符串设置菜单中,共有4中模式: a) Normal Display 是控件的缺省模式,在该模式下, 是控件的缺省模式,在该模式下,显示所 有可显示的输入字符。 有可显示的输入字符。有些字符在该模式下 是不可显示的,如制表符、ESC等 是不可显示的,如制表符、ESC等 “\ Display:控制码显示 b) “\”Codes Display:控制码显示 在该模式下, 在该模式下, 把“\”及其后接的字符理 解为格式化字符。 解为格式化字符。这种模式可显示一些不可见 字符。具体格式及含义见下表: 字符。具体格式及含义见下表:
labview_字符串和文件

第五章字符串和文件I/O
5.2.1文件 I/O 功能函数
大多数的文件I/O操作都包括三个基本的步骤:打开一个已有的文件或者新 建一个文件;对文件进行读写;关闭文件。LabVIEW在编程»文件 I/O中提供 了很多有用的工具 VI。
第五章字符串和文件I/O
以下5个功能从左到右对应于上面5个图标。
写入测量文件 ——用于将由单精度数值组成的一维或者二维数组转换成文 本字符串,再将它写入一个新建文件或者已有文件。该 VI先打开或者新建文 件,之后再关闭文件。它可以用于创建能够被大多数电子表格软件读取的文本 文件。 2. 读取测量文件 ——用于从某个文件的特定位置开始读取指定个数的行或者 列内容,再将数据转换成二维、单精度数组。该 VI先打开文件,之后再关闭 文件。它可以用于读取用文本格式存储的电子表格文件。 3. 写入文本文件 ——用于将一个字符串写入一个新建文件或者已有文件。该 VI打开这个文件、写入数据,再关闭文件。 4. 读取文本文件 ——用于从某个文件的特定位置开始读取指定个数的字符。 该VI先打开文件,之后再关闭文件。 5. 扫描文本文件 ——用于从某个文件的特定位置开始读取指定个数的行内容。 该VI先打开文件,之后再关闭文件。 1.
Format Into String函数 (Functions» String)——将温度 数据转换成字符串,并且在数据 后面增加一个逗号。
空路径常量(编程» 文件 I\O» -文件常 量)——用于初始化 移位寄存器,保证需 要对文件写入数据时 路径是空的。会出现 一个文件对话框。
Write Characters To File VI( (Functions» File I/O)
Header SET Number 5.50
输出字符串 SET 5.5000 VOLTS
LABVIEW第6章字符串数组簇和矩阵

PPT文档演模板
LABVIEW第6章字符串数组簇和矩阵
6.3 簇(Cluster) ——LabVIEW中的结构体变量
n 簇操作函数使用示例
PPT文档演模板
LABVIEW第6章字符串数组簇和矩阵
6.3 簇(Cluster) ——LabVIEW中的结构体变量
PPT文档演模板
LABVIEW第6章字符串数组簇和矩阵
小试身手
n 3. 产生一个3×3的整数随机数数组,随机数要 在0到100之间,然后找出数组的鞍点,即该位 置上的元素在该行上最大,在该列上最小,也 可能没有鞍点。如下图所示:
PPT文档演模板
LABVIEW第6章字符串数组簇和矩阵
演讲完毕,谢谢听讲!
n 6.3.3 error in 和error out簇
n LabVIEW利用error in 和error out这两个预定义簇来 作为传递错误信息的载体。
PPT文档演模板
LABVIEW第6章字符串数组簇和矩阵
6.3 簇(Cluster) ——LabVIEW中的结构体变量
n 6.3.3 error in 和error out簇
n 6.1.3 字符串函数举例
•
PPT文档演模板
•基本字符串函数示例
LABVIEW第6章字符串数组簇和矩阵
6.1 字符串(String)
n 6.1.3 字符串函数举例
PPT文档演模板
•数据数组/电子表格字符串转换函数示例
LABVIEW第6章字符串数组簇和矩阵
6.2 数组(Array)
n 6.2.1 数组控件
n 普通的解包函数解包后只有将鼠标移到输出端子 上才能看到输出元素的名称,程序的可读性不高。 该函数可以根据名称有选择的输出簇内部元素。 其中元素名称就是指元素的Label。
labview 字符串显示

基本思路
• • • • • • 输入字符串 在矩形中绘制文本,得到图片 图片至像素图转换 还原像素图,得到二维数组 转换一维数组移位 输出给布尔型数组
主要器件
• 在矩形中绘制文本:实现在图片中绘 制字符串的功能 • 图片至像素图转换:将图片转换为图 片数据的簇,用于执行与图片相关的任务 • 还原像素图 :将图像数据簇转换为二 维数组 • 一维数组移位:将数组中的元素移动 多个位置,方向由n指定。
主要功能
• • • • 动态显示所输入的字符串 可调节字体方向是水平还是垂直 可调节运动方向是左还是右 可调节速度
前面板
缺点
• Win7 系统下,字符串大家
• 字符串显示.vi
字符串动态显示
设计灵感
• 首先先给大家看一下,自己之前做的一个 小程序: • 虚拟仪器电子信息工程 .vi • 这个例子是通过点阵来显示所要求的字符, 不过方法比较原始,是自己一个布尔值一 个布尔值敲出来的,不是很实用
• 然后就想,能不能更加便捷、更加实用地 实现显示字符串的功能 • 通过查阅资料,发现能够实现 • 下面讲一下具体的实现
基本原理
• 在LabVIEW中显示点阵,是LabVIEW程序 设计中一个重要的显示技巧。所谓点阵, 就是用灯的亮灭来显示各类图形。 • 将图像数据转化为8位像素矩阵。同样的方 法获得一个同样大小但没有布尔文本的纯 白色按钮的像素矩阵。将2个矩阵做异或比 较。得到一个二维布尔矩阵,直接输出这 个矩阵就得到了该字符的点阵
LABVIEW第6章字符串、数组、簇和矩阵

小试身手
2. 对字符串进行加密,规则是每个字母后移5 位,例如A变为F,b变为g,x变为c,y变为d…
31
小试身手
3. 产生一个3×3的整数随机数数组,随机数要 在0到100之间,然后找出数组的鞍点,即该位 置上的元素在该行上最大,在该列上最小,也 可能没有鞍点。如下图所示:
32
小试身手
14、他乡生白发,旧国见青山。。2021年3月6日星期六上午11时6分13秒11:06:1321.3.6
15、比不了得就不比,得不到的就不要。。。2021年3月上午11时6分21.3.611:06March 6, 2021
16、行动出成果,工作出财富。。2021年3月6日星期六11时6分13秒11:06:136 March 2021
11、越是没有本领的就越加自命不凡。21.3.611:06:1311:06Mar-216-Mar-21
MOMODA POWERPOINT 12、越是无能的人,越喜欢挑剔别人的错儿。11:06:1311:06:1311:06Saturday, March 06, 2021
13、知人者智,自知者明。胜人者有力,自胜者强。21.3.621.3.611:06:1311:06:13March 6, 2021
字符串控件包括输入控件、显示控件和下拉框。
3
6.1 字符串(String)
4
6.1 字符串(String)
6.1.1 字符串控件
字符串输入控件一般被用作文本输入框,而字符串 显示控件一般被用作文本显示框。
5
6.1 字符串(String)
6.1.2 表格和树形控件
表格(Table)和树形控件在Controls Palette的 Modern->List & Table…面板下。
LABVIEW字符格式说明

使用格式说明符格式化字符串、将数字转化为字符串,或在字符串中插入不显示的字符。
对于输出字符串的函数,例如格式化写入字符串和数组至电子表格字符串转换,格式说明符使用下列语法元素。
双括号( [] )中的是可选元素。
%[$][-][+][#][^][0][Width][.Precision || _SignificantDigits][{Unit}][<Embedded information>]Conversion Code其中Width是一个大于零的数,.Precision和_SignificantDigits是大于等于零的数。
对于扫描字符串的函数,例如,扫描字符串和电子表格字符串至数组转换,格式说明符使用下列语法元素。
%[Width]Conversion Code格式化写入字符串、格式化写入文件、扫描字符串和扫描文件函数可在格式字符串输入中使用多个格式说明符,每个格式说明符用于每个可扩展函数的输入或输出。
格式说明符语法元素下表列出了格式说明符的语法元素。
详细信息见格式说明符范例。
语法元素说明% 格式说明符的开始。
$(可选)使用格式函数时,该修饰符规定了显示变量的顺序。
包括代表变量顺序的位数,其后紧接该修饰符。
-(可选)使用格式化函数时,该修饰符在参数的宽度之内将参数靠左调整,而不是靠右调整。
+(可选)使用格式化函数时,即使是正数,该修饰符也包括符号。
^(可选)使用格式函数和e或g转换代码时,该元素将数格式化为科学计数法,其中指数为3的倍数。
#(可选)使用格式化函数时,该修饰符移除尾部的无效零。
如数值无小数部分,该修饰符会将有效数字精度之外的数值强制为零。
0(可选)使用格式化函数时,使用该修饰符,不带-修饰符,函数将用零而不是空格填充数值参数左边的多余空间,以达到最小宽度。
Width(可选)使用扫描函数时,如扫描字符串,Width元素规定了使用的字段的确切宽度。
LabVIEW处理参数时只扫描指定数量的字符。
labview 字符串和文件

目的:创建一个字符串的子集,其中含有某个数值的字符串显示,再将它 转换成数值。
第五章字符串和文件I/O 第五章字符串和文件I/O
部分字符串函数( 函数-字符串 字符串) 部分字符串函数 ( 函数 字符串 ) — 用于返回偏移地址开始的子字符串以 及字节数。第一个偏移地址是0。 及字节数。第一个偏移地址是 。
第五章字符串和文件I/O 第五章字符串和文件I/O
5-2文件的输入/输出(I/O)
文件I/O功能函数是一组功能强大、伸缩性强的文件处理工具。它们不仅可 以读写数据,还可以移动、重命名文件与目录。创建电子表格格式的、由可 读的ASCII文本组成的文件,以及为了提高读写速度和压缩率采用二进制的格 式写入数据。 可以采用下面三种文件格式存储或者获得数据: ASCII字节流——如果希望让其他的软件(譬如字处理程序或者电子表格 程序)也可以访问数据,就需要将数据存储为ASCII格式。为此,需要把所有 数据都转换为ASCII字符串。 l 数据记录文件——这种文件采用的是只有G语言可以访问的二进制格 式。数据记录文件类似于数据库文件,因为它可以把不同的数据类型存储到 同一个文件记录中。 l 二进制字节流——这种文件的格式是最紧凑、最快速地存储文件的格 式。必须把数据转换成二进制字符串的格式,还必须清楚地知道在对文件读 写数据时采用的是哪种数据格式。
返回前面板,执行该VI。数据数组产生以后,会出现一个 返回前面板,执行该VI。数据数组产生以后, VI 文件对话框提示输入新建文件的文件名。输入文件名,并 文件对话框提示输入新建文件的文件名。输入文件名, OK。 单击 OK。
第五章字符串和文件I/O 第五章字符串和文件I/O
练习 5-4 向文件添加数据
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6、删除空白(trim whitespace)
用于删除输入字符串两端、或首端、或末端的空白符。 下例为删除输入字符串两端的空白符。
基本的字符串处理相关函数就说这几个吧,还有几个我自己也没搞懂。更多的实 践应用,应该就能更深刻的理解每个函在程序框图中依次放置以下函数: 字符串→格式化写入字符串; 字符串→匹配模式; 字符串→扫描字符串; (3)按上图创建各类常量,并连线。 这里有个注意点:格式化写入字符串函数的输入端子,显示的是 DBL 类型数据输 入,即数值型双精度浮点数,这里可能会有学习者认为一个字符串输入控件怎么 和这个端口连接,其实大可不必担心,直接连上去就可以了,端口会根据合法输 入控件的数据类型自动进行匹配。
可见最后的那个 sO 就因为大写小不匹配而没有被替换。 what's SB your SB fuck SB SB 字长为 28,最后的 B 的索引为 27,故下一个索 引位置就是 28,即“替换后偏移量”。 【例四】
偏移量:8 →→→即从索引号 8 开始向后搜索 so 字符 正好就是从第一个 o 开始搜索,因此第一个 so 就没有被替换。
偏移量:3 (字符串的)子字符串长度:9
注意这里的长度超过了新子字符串的长度,运行结果见上,超出的部分用空格代 替了! 【例五】
偏移量:23 →→→为字符串的长度 (字符串的)子字符串长度:9 →→→这里偏移量是多少也无所谓了
奇怪:字符串的长度就是 23,偏移量为 23 的话,个人觉得新子字符串是接不上 去了的,但是试验后发现是拼接上去了。结果是正好拼接上去了,但是没有替换 任何字符(连空格都没有)。见下面试验例子。 【例六】
4、匹配模式(match pattern)
【例一】
搜索到偏移量之后的第一个匹配的字符串后,分成三部分。 “匹配后偏移量”为子字符串 so 之后的首字符索引位置,如果未找到匹配字符 串,则返回-1. 【例二】
5、格式化日期/时间字符串(Format Date/Time String)
时间日期格式码及意义:
(在前面板中放置:数值→时间标识输入控件,然后右击该控件,选择‘属性’,在‘格
式与精度’页,选择[高级编辑模式],则自动切换到高级模式,就会看到以下的“绝对时
间格式代码”。)
%Z:时区。 %z:本地时间与通用时间之差。 %Y:四位年份。如显示现在的 2012. %y:年份的后 2 位(00-99),即年代。如现在是 2012,就只显示后面的 12. %m:月份(01 - 12)。 %b:月份名称缩写。这个符号的意义是提取当前的月份,如前面板将显示为“十 一月”。(%B 的功能和它一样)! %d:日期(一个月中的天值)。以数字形式显示出来。 %a:星期名称缩写。这个符号的意义是提取当前的星期几,如前面板显示为“星 期二” 。(%A 的功能和它一样)! %p:“上午/下午”是否显示的标志。 %H:时。24 小时制格式(01 - 23)。 %I:时。12 小时制格式(01 - 12)。 %M:分钟(00 - 59)。 %S:秒值(00 - 59)。 %数字 u:秒后面的显示精度。%3u 表示显示秒小数点后 3 位小数秒。 %c:默认日期与时间。前面板会显示:2012-11-27 16:23:40 %x:本地日期格式。前面板会显示:2012-11-27 %1x:长日期格式。前面板会显示:2012'年'11'月'28'日' %2x:长日期格式缩写。前面板会显示:2012'年'11'月'28'日' %X:本地时间格式。前面板会显示:16:23:40 %j:一年中的天值。 %U:一年中的星期数(00 - 53)。星期日是每个星期的第一天。 %W:一年中的星期数(00 - 53)。星期一是每个星期的第一天。 %w:星期值(0 - 6)。
【字符串处理函数 综合运用举例】
步骤: (1)在前面板依次放置以下输入、显示控件: 字符串与路径→字符串输入控件,命名为“字符串头”; 数值→时间标识输入控件,命名为“时间日期”; 数值→数值输入控件,命名为“采集电压”; 数值→数值输入控件,命名为“频率”; 字符串与路径→字符串输入控件,命名为“注释”; (以下显示控件,如果对于各个函数的输出数据类型不是很清楚的情况下,这个 完全可以在程序框图里操作,方法是:在各个函数的输出端口处,当鼠标变成连 线工具时右击→创建→显示控件,系统会自动识别函数输出数据类型而为你创建 对应的显示控件的。) 字符串与路径→字符串显示控件,命名为“结果字符串 3”; 字符串与路径→字符串显示控件,命名为“匹配字符串”; 数值→数值显示控件,命名为“电压”;
【例二】
偏移量:0 (字符串的)子字符串长度:2
新子字符串从字符串的第零个元素开始,替换掉字符串的前 2 个子字符。 用 8 个字符替换 2 个。 【例三】
偏移量:3 (字符串的)子字符串长度:2
新子字符串从字符串的第三个元素开始,替换掉字符串的前 3 个子字符。 用 8 个字符代替了 2 个字符。 【例四】
以连接字符串函数为例,字符串 0 和字符串 1 在框中的对齐方式不一样,只因这 个两个字符常量的放置方式不一样! 字符串 0 的方式是:将鼠标移至连接字符串函数的字符串 0 端口,当鼠标变成连 线工具 时点击鼠标右键→创建→常量。 字符串 1 的方式是:编程→字符串→字符串常量。 这样才造成了一个右对齐,一个左对齐。
“替换全部”条件设置为 True,运行结果如下:
what's SB your SB fuck SB SBname CSB 的长度为 36,最后的 B 的索引是 35, 故下一个索引位置就是 36,即“替换后偏移量”。
【例三】
“替换全部”条件设置为 True; “忽略大小写”条件设置为 False →→→→→ 即要区分大小写 运行结果如下:
偏移量:24 →→→超出了字符串的长度 (字符串的)子字符串长度:9 →→→这里偏移量是多少也无所谓了
偏移量超出了字符串的长度,没有空余的地方可以让新子字符串拼接上去了,所 以最后的结果就是没有替换任何字符,也没有拼接上去。 总结:不管偏移量如何,不管长度如何,反正新子字符串要全插进去! 前提是偏移量≤字符串长度
*这里正好借这个例子可以对照理解下“格式化写入字符串函数”和“扫描字符 串函数”的用法!!
结果字符串 替换子字符串
功能:将字符串中从偏移量位置开始某段长度的(字符串的)子字符串删掉,然 后将删除部分用新的字符串代替。 【例一】
偏移量:0 →→→→从字符串的第零个字符开始替换 (字符串的)子字符串长度:0 →→→→即从偏移量处开始插入子字符串
新子字符串 make me.长度为 8,替换掉字符串的前 8 个字符, 即替换掉字符串的子字符串 what’s y 这 8 个字符。
基本字符串处理函数(Labview 8.2)
Hu Guang
1、字符串长度(string length)
结果显示为:3 这点与 C 语言的不一样,C 语言默认包括空字符\0,所以 C 语言的结果应该是 4!
2、替换子字符串(replace substring)
字符串
子字符串 偏移量 长度子字符串长度
3、搜索替换字符串(search and replace string)
【例一】
运行结果:
解释: “替换全部”这个条件默认是 False,所以该例中只替换了第一个 so “替换后偏移量”是指替换后,子字符串末的下一个索引位置。 what’s SB 的长度是 9,但是最后的 B 的索引是 8,故下一个索引位置就是 9. 【例二】
几处注意的地方: ①运行结果显示%U 和%W 的值是一样的,其实这个是有区别的,结果一样只因为 试验时间是周三,如果是周日,那这个 2 个结果肯定是不一样的! ②%A 和%a 一样。 ③%B 和%b 一样。 ④“通用时间”是格林尼治时间,北京是东八区,就是比格林尼治时间早 8 小时。 所以,%z(本地时间去通用时间之差)=8 小时。 ⑤关于长日期格式与短日期格式。以电脑上的标准举例,开始→控制面板→区域 和语言选项,弹出的选项卡中截取了如下图。但是上例中带撇号就有点不明白了。