佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > 用vbs將名稱轉(zhuǎn)換為正確的大小寫的代碼

用vbs將名稱轉(zhuǎn)換為正確的大小寫的代碼

熱門標(biāo)簽:鐵路電話系統(tǒng) 呼叫中心市場(chǎng)需求 服務(wù)器配置 銀行業(yè)務(wù) 智能手機(jī) 美圖手機(jī) 網(wǎng)站文章發(fā)布 檢查注冊(cè)表項(xiàng)
問(wèn):
您好,腳本專家!我有一個(gè)腳本,我的幫助支持人員用它來(lái)創(chuàng)建用戶帳戶。不幸的是,有時(shí)這些幫助支持人員在忙亂中會(huì)鍵入類似這樣的名稱:kEn MYEr。如何將名稱轉(zhuǎn)換為正確的大小寫(即 Ken Myer)呢?
-- LC
答:
您好,LC。您知道嗎:您真幸運(yùn)。談到正確行事,腳本專家通常便是您最不愿意找的人。事實(shí)上,就我們所知,只有一種情況例外,那便是將名稱轉(zhuǎn)換為正確的大小寫,即,使名稱中的首字母大寫,而使其余字母小寫。這一點(diǎn)我們還是可以辦到的。
注意:嘿,每個(gè)人都得能夠做點(diǎn)什么。盡管我們更希望能投出超過(guò) Albert Pujols 的快球或贏取奧林匹克金牌,可不管怎樣,能夠?qū)⒚Q轉(zhuǎn)換為正確的大小寫將是我們的下一個(gè)選擇。
我們預(yù)先提醒您,執(zhí)行此項(xiàng)任務(wù)的腳本可能看上去有點(diǎn)隱秘;這是因?yàn)?nbsp;VBScript(不象 Visual Basic)并沒(méi)有用于將字符串轉(zhuǎn)換為正確大小寫的內(nèi)置方法。不過(guò)沒(méi)關(guān)系,畢竟,如果事情太容易,那就沒(méi)有任何樂(lè)趣了:
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
讓我們逐步向您介紹該過(guò)程。一開始,我們只是將值 kEn 和 MYEr 賦給了名為 strFirstName 和 strLastName 的變量;不用說(shuō),這便是我們需要轉(zhuǎn)換的兩個(gè)名稱。
注意:是的,盡管不用說(shuō),不過(guò)我們還是說(shuō)了。自己去想吧。
先來(lái)看看首先應(yīng)該如何入手,我們是以處理用戶的名字開始的。為此,我們使用 Len 函數(shù)確定字符串 kEn 中的字母數(shù)(對(duì)了:kEn 中有三個(gè)字母):
intFirstName = Len(strFirstName)
接下來(lái),我們僅需要獲取該名稱的第一個(gè)字母,并將其轉(zhuǎn)換為大寫。這一點(diǎn)是通過(guò)一對(duì)函數(shù)組合來(lái)實(shí)現(xiàn)的。我們使用 Left 函數(shù)取得首字母,也就是,從該字符串的左邊取得一個(gè)字母(倘若您對(duì)此感到好奇,那么 1 就表示我們要獲取的字母數(shù)):
Left(strLastName, 1)
這樣,我們就會(huì)得到字母 k。然后,我們使用 UCase 函數(shù)將該字母轉(zhuǎn)換為大寫:
UCase(Left(strLastName, 1))
現(xiàn)在我們有了大寫字母 K,我們將其存儲(chǔ)在一個(gè)名為 strFirstLetter 的變量中。這是太羅嗦了,不過(guò)所有這些步驟卻是通過(guò)一行代碼來(lái)執(zhí)行的:
strFirstLetter = UCase(Left(strLastName, 1))
明白其工作原理了嗎?好的?,F(xiàn)在,我們需要將該名稱中的其余所有字母都轉(zhuǎn)換為小寫。這便是我們用下面這行代碼所做的事情:
strRemainingLetters = LCase(Right(strLastName, intLastName - 1))
是的,它確實(shí)看起來(lái)有點(diǎn)令人發(fā)瘋。那就讓我們將其拆開來(lái)看。我們所要做的是取得名字中除了首字母之外的所有字母。為此,我們使用 Right 函數(shù),從右開始取得 x 個(gè)字母。x 是什么?嗯,在本例中,x 將是字符串中的字母總數(shù)減 1。換言之,就是 3 減 1,即 2。這樣,我們將會(huì)得到字母 En(這便是我們所要的一切),而略掉起始字母 k。
明白了嗎?以下是其實(shí)現(xiàn)代碼:
Right(strLastName, intLastName - 1)
那么,我們對(duì)那些字母做什么呢?嗯,這次我們要使用 LCase 函數(shù)將每個(gè)字母都轉(zhuǎn)換為小寫:
LCase(Right(strLastName, intLastName - 1))
之后,我們?nèi)〉眠@些小寫字母并將它們儲(chǔ)存在一個(gè)名為 strRemainingLetters 的變量中:
strRemainingLetters = LCase(Right(strLastName, intLastName - 1))
是的,這可能是有點(diǎn)令人困惑。但是只要您親自將該代碼過(guò)上一兩遍,就應(yīng)該會(huì)弄明白了?;蛘?,也可對(duì)該代碼進(jìn)行修改,先執(zhí)行 Left/Right 部分,然后再調(diào)用 UCase 或 LCase:
intFirstName = Len(strFirstName)
strFirstLetter = Left(strFirstName, 1)
strFirstLetter = UCase(strFirstLetter)
strRemainingLetters = Right(strFirstName, intFirstName - 1)
strRemainingLetters = LCase(strRemainingLetters)
如果分步進(jìn)行對(duì)您有所幫助,那就再好不過(guò)了。
最后,我們需要重新構(gòu)造用戶的名字。為此,我們使用變量 strFirstLetter(其中包含用戶名字中首字母的大寫版本),并將其與變量 strRemainingLetters(其中包含用戶名字中其余所有字母的小寫版本)進(jìn)行合并:
strFirstName = strFirstLetter  strRemainingLetters
對(duì)姓氏重復(fù)上述整個(gè)過(guò)程,然后回顯“新”的用戶姓名。
Wscript.Echo strFirstName, strLastName
來(lái)看看我們這樣做會(huì)得到什么?
Ken Myer
確實(shí)漂亮極了。而且還做得恰如其分!

標(biāo)簽:河南 樂(lè)山 沈陽(yáng) 長(zhǎng)治 紅河 滄州 上海 新疆

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《用vbs將名稱轉(zhuǎn)換為正確的大小寫的代碼》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    辽源市| 汶川县| 新安县| 璧山县| 汉阴县| 贵阳市| 共和县| 澄江县| 邓州市| 禄丰县| 涟水县| 保亭| 怀远县| 合江县| 安泽县| 莱芜市| 大悟县| 五河县| 襄垣县| 饶平县| 山阳县| 台南市| 遂平县| 贵阳市| 广水市| 卫辉市| 峨眉山市| 墨玉县| 筠连县| 双流县| 九台市| 麟游县| 开封县| 五台县| 新野县| 鄂托克前旗| 桃源县| 黄大仙区| 磐石市| 新绛县| 多伦县|