用vbs将名称转换为正确的大小写的代码
2019-10-26 17:59:16
供稿:网友
问:
您好,脚本专家!我有一个脚本,我的帮助支持人员用它来创建用户帐户。不幸的是,有时这些帮助支持人员在忙乱中会键入类似这样的名称:kEn MYEr。如何将名称转换为正确的大小写(即 Ken Myer)呢?
-- LC
答:
您好,LC。您知道吗:您真幸运。谈到正确行事,脚本专家通常便是您最不愿意找的人。事实上,就我们所知,只有一种情况例外,那便是将名称转换为正确的大小写,即,使名称中的首字母大写,而使其余字母小写。这一点我们还是可以办到的。
注意:嘿,每个人都得能够做点什么。尽管我们更希望能投出超过 Albert Pujols 的快球或赢取奥林匹克金牌,可不管怎样,能够将名称转换为正确的大小写将是我们的下一个选择。
我们预先提醒您,执行此项任务的脚本可能看上去有点隐秘;这是因为 VBScript(不象 Visual Basic)并没有用于将字符串转换为正确大小写的内置方法。不过没关系,毕竟,如果事情太容易,那就没有任何乐趣了:
strFirstName = "kEn"
strLastName = "MYEr"
intFirstName = Len(strFirstName)
strFirstLetter = UCase(Left(strFirstName, 1))
strRemainingLetters = LCase(Right(strFirstName, intFirstName - 1))
strFirstName = strFirstLetter & strRemainingLetters
intLastName = Len(strLastName)
strFirstLetter = UCase(Left(strLastName, 1))
strRemainingLetters = LCase(Right(strLastName, intLastName - 1))
strLastName = strFirstLetter & strRemainingLetters
Wscript.Echo strFirstName, strLastName
让我们逐步向您介绍该过程。一开始,我们只是将值 kEn 和 MYEr 赋给了名为 strFirstName 和 strLastName 的变量;不用说,这便是我们需要转换的两个名称。
注意:是的,尽管不用说,不过我们还是说了。自己去想吧。
先来看看首先应该如何入手,我们是以处理用户的名字开始的。为此,我们使用 Len 函数确定字符串 kEn 中的字母数(对了:kEn 中有三个字母):
intFirstName = Len(strFirstName)
接下来,我们仅需要获取该名称的第一个字母,并将其转换为大写。这一点是通过一对函数组合来实现的。我们使用 Left 函数取得首字母,也就是,从该字符串的左边取得一个字母(倘若您对此感到好奇,那么 1 就表示我们要获取的字母数):
Left(strLastName, 1)
这样,我们就会得到字母 k。然后,我们使用 UCase 函数将该字母转换为大写:
UCase(Left(strLastName, 1))
现在我们有了大写字母 K,我们将其存储在一个名为 strFirstLetter 的变量中。这是太罗嗦了,不过所有这些步骤却是通过一行代码来执行的: