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

VBScript
一个实现VBS倒计时的代码
用vbs实现将剪切板的unix格式的内容处理成pc格式的代码
用vb和vbs 破解flashxp的密码的代码
用VBS实现的批量gb2312转utf-8,支持拖动
用vbs实现的XP序列号替换器
VBS可以做什么的简单说明
用vbs实现cmd功能的代码
VBS基础编程教程 (第1篇)
VBS基础编程教程 (第3篇)
VBS基础编程教程 (第4篇)
VBS基础编程教程 (第5篇)
VBS基础编程教程 (第6篇)
利用vbscript的for命令实现定时关机
在桌面右下角出现温馨提示的vbs冒泡程序
利用VBS发送邮件 挑选速度快的肉鸡做VPN 的vbs代码
vbs教程 chm下载
用vbs实现的简单的服务器文件备份办法压缩文件名自动按日期命名
输入mdb数据库即可将打包的mdb文件解包
VBS编程教程第一部
vbs脚本 加密 几个小细节小结下

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 69 ::
收藏到网摘: 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 个字符的方法,正在这时 -- 天哪;今天的时间到了。我们必须改天再继续讲这个故事了。