当前位置: 首页 > 图文教程 > 脚本技术 > VBScript > 用vbs将名称截断以使其最多包含 16 个字符的代码

VBScript
用vbscript得到注册表中是否存在某个值
用vbscript实现修改屏幕保护的等待时间长度
用vbscript实现在消息框中显示一个超链接
用vbscript实现将脚本的输出复制到剪贴板
视频转换大师WinMPG Video Convert 6.63
用vbs实现取消隐藏文件夹中的所有文件
用vbscript实现从文本文件中删除所有重复行的代码
用vbscript实现在文本文件中搜索两个项
用vbscript实现启用 Caps Lock (大写)键
vbscript和javascript版的15位, 18位的身份证号码的验证函数.以及根据身份证取省份,生日,性别
发老兵及海洋VBS解包工具代码
把vbscript发挥到它的极限应用之一(数组)!!!
VBScript:Join 函数一个不太常用,却很有用的函数
最新恶意复制型病毒autorun.inf,stNP.VBS,NP.VBS代码简单解析和解决方法
用vbscript脚本实现返回 IP 配置数据的代码
用vbs实现配置静态 IP 地址
用vbs得到计算机的 IP 地址
用vbs实现枚举网络连接的代码
IIS管理脚本之adsutil.vbs的使用说明
用VBS修改IIS Metabase的代码

VBScript 中的 用vbs将名称截断以使其最多包含 16 个字符的代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 76 ::
收藏到网摘: n/a

问:
您好,脚本专家!如何将名称截断以使其最多包含 16 个字符?
-- BN
答:
您好,BN。打起精神来:我们又要开始记忆长廊之旅了。曾经有个脚本专家上大学的时候,他在绿巨人公司找了一份暑期临时工,任务就是在办公室里监督华盛顿东部的芦笋收割。当时,绿巨人有一个陈旧笨重的计算机系统,用来记录芦笋的数量 - 然后再记录要付给所有收割者多少钱。这个系统有一个问题,但是(事实上,它的问题不只一个,不过 …):它被设置为姓氏最多可使用 10 个字符,而许多工人的姓都比 10 个字符要长(例如,Myer-Ackerman)。每次数据输入人员输入一个比 10 个字符长的名称时,整个系统都会锁死,因此他们的工作站常常必须重新启动。(这都是在出现 Microsoft Windows 之前的事了。)
这个脚本专家那时根本谈不上是脚本专家;事实上,他使用计算机的经验主要局限于在 Commodore 64 上玩 Zork。可是现在,作为办公室里唯一的大学生,他被委任以修复此数据输入程序的重任(幸运的是,数据库本身没有这种限制)。他的工作就是在程序试图将名称保存到数据库之前,确保截断所有多于 10 个字符的名称。
换句话说,这与您需要完成的任务非常相似。那时我们的脚本专家工作在 BASIC 的某个专有分支领域,他的解决方案就是使用 Left 函数获取某个名称的前 10 个字母,并以此来作为此工人的姓。现在,差不多 20 年之后,想想您的问题的解决方案是什么?
复制代码 代码如下:

strName = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
strName = Left(strName, 16)
Wscript.Echo strName

经典的解决方案从来不会过时,是吧?这个脚本从我们 20 年前停手的地方开始:它将一个很长的字符串(本例中为字母表)赋值给名为 strName 的变量:
strName = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
接下来是下面这行代码:
strName = Left(strName, 16)
这行代码将一个新值赋给变量 strName。那么这个新值是什么呢?它将是 strName 当前值的前 16 个字符。这就是 Left 函数的作用:它从此字符串的第一个字符开始计数,一直数到 16 个字符,就像这样:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
这 16 个字符,且仅这 16 个字符,将赋给变量 strName。然后,回显 strName 的新值,我们会得到如下字符串:
ABCDEFGHIJKLMNOP
很酷吧。此脚本很有效,即使 strName 是从 2600 个字符的 26 个字符开始效果也一样:结果都是仅使用前 16 个字符。啊,但是如果字符串少于 16 个字符会怎么样?例如,此脚本会失败吗,因为它试图获取 16 个字符,而根本没有 16 个字符?
strName = "ABCD"
strName = Left(strName, 16)
Wscript.Echo strName
幸运的是答案是否定的:此脚本会顺利运行。如果某字符串少于 16 个字符,则 Left 函数只获取它所能找到的所有字符,并将此值赋值给 strName。在本例中,strName 等于 ABCD,此字符串中仅有的 4 个字符。
现在,再缅怀一下过去的美好时光。我们告诉过您当这个脚本专家正坐在他的绿巨人办公室里时,一条响尾蛇爬进来吗?这是真的。他正坐在那儿,努力思考将姓限制为 10 个字符的方法,正在这时 -- 天哪;今天的时间到了。我们必须改天再继续讲这个故事了。