用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 的變量中。這是太羅嗦了,不過所有這些步驟卻是通過一行代碼來執行的: