拆分名称并将第一个字母更改为大写字母

时间:2016-01-06 09:25:40

标签: vbscript

如何在第一个字母为大写的情况下写出我的全名,其余为小写,例如:

Michael Jonson Bech

我这么公平:

option Explicit


Dim Name,fName

Name = Split(InputBox("what is your name"))


Dim var 

For Each var In Name
    'var=UCase(Left(var,1))
    LCase(var)
    UCase (Left(var,1))

Next

fName = Join(Name)

WScript.Echo("you name is :  " & fName )

2 个答案:

答案 0 :(得分:1)

像UCase这样的字符串函数不会修改操作数,但会返回修改后的副本。 For Each v为您提供名为v。

的数组元素的副本

所以你需要这样的东西:

Option Explicit

Dim a : a = Split("mIchael jOnson bEch")
WScript.Echo Join(a)
Dim i
For i = 0 To UBound(a)
    a(i) = UCase(Left(a(i), 1)) & LCase(Mid(a(i), 2))
Next
WScript.Echo Join(a)

输出:

cscript 34629546.vbs
mIchael jOnson bEch
Michael Jonson Bech

答案 1 :(得分:0)

这看起来像VB6,在这种情况下类似于:

Dim Name as string

Name = InputBox("你叫什么名字")

Name = StrConv(Name,vbProperCase)