主頁 > 知識庫 > 用vbs將名稱轉換為正確的大小寫的代碼

用vbs將名稱轉換為正確的大小寫的代碼

熱門標簽:深圳外呼系統收費 外呼系統telrobot 外呼線路中繼線是什么 外呼系統免費招代理 廣州ai電銷機器人一般多少錢 合肥高德地圖標注 怎么看地圖標注 百度地圖標注是什么意思 拉薩外呼系統業(yè)務
問:
您好,腳本專家!我有一個腳本,我的幫助支持人員用它來創(chuàng)建用戶帳戶。不幸的是,有時這些幫助支持人員在忙亂中會鍵入類似這樣的名稱:kEn MYEr。如何將名稱轉換為正確的大小寫(即 Ken Myer)呢?
-- LC
答:
您好,LC。您知道嗎:您真幸運。談到正確行事,腳本專家通常便是您最不愿意找的人。事實上,就我們所知,只有一種情況例外,那便是將名稱轉換為正確的大小寫,即,使名稱中的首字母大寫,而使其余字母小寫。這一點我們還是可以辦到的。
注意:嘿,每個人都得能夠做點什么。盡管我們更希望能投出超過 Albert Pujols 的快球或贏取奧林匹克金牌,可不管怎樣,能夠將名稱轉換為正確的大小寫將是我們的下一個選擇。
我們預先提醒您,執(zhí)行此項任務的腳本可能看上去有點隱秘;這是因為 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 的變量中。這是太羅嗦了,不過所有這些步驟卻是通過一行代碼來執(zhí)行的:
strFirstLetter = UCase(Left(strLastName, 1))
明白其工作原理了嗎?好的?,F在,我們需要將該名稱中的其余所有字母都轉換為小寫。這便是我們用下面這行代碼所做的事情:
strRemainingLetters = LCase(Right(strLastName, intLastName - 1))
是的,它確實看起來有點令人發(fā)瘋。那就讓我們將其拆開來看。我們所要做的是取得名字中除了首字母之外的所有字母。為此,我們使用 Right 函數,從右開始取得 x 個字母。x 是什么?嗯,在本例中,x 將是字符串中的字母總數減 1。換言之,就是 3 減 1,即 2。這樣,我們將會得到字母 En(這便是我們所要的一切),而略掉起始字母 k。
明白了嗎?以下是其實現代碼:
Right(strLastName, intLastName - 1)
那么,我們對那些字母做什么呢?嗯,這次我們要使用 LCase 函數將每個字母都轉換為小寫:
LCase(Right(strLastName, intLastName - 1))
之后,我們取得這些小寫字母并將它們儲存在一個名為 strRemainingLetters 的變量中:
strRemainingLetters = LCase(Right(strLastName, intLastName - 1))
是的,這可能是有點令人困惑。但是只要您親自將該代碼過上一兩遍,就應該會弄明白了?;蛘撸部蓪υ摯a進行修改,先執(zhí)行 Left/Right 部分,然后再調用 UCase 或 LCase:
intFirstName = Len(strFirstName)
strFirstLetter = Left(strFirstName, 1)
strFirstLetter = UCase(strFirstLetter)
strRemainingLetters = Right(strFirstName, intFirstName - 1)
strRemainingLetters = LCase(strRemainingLetters)
如果分步進行對您有所幫助,那就再好不過了。
最后,我們需要重新構造用戶的名字。為此,我們使用變量 strFirstLetter(其中包含用戶名字中首字母的大寫版本),并將其與變量 strRemainingLetters(其中包含用戶名字中其余所有字母的小寫版本)進行合并:
strFirstName = strFirstLetter  strRemainingLetters
對姓氏重復上述整個過程,然后回顯“新”的用戶姓名。
Wscript.Echo strFirstName, strLastName
來看看我們這樣做會得到什么?
Ken Myer
確實漂亮極了。而且還做得恰如其分!

標簽:玉林 周口 廣安 嘉興 延安 臺灣 漳州 六安

巨人網絡通訊聲明:本文標題《用vbs將名稱轉換為正確的大小寫的代碼》,本文關鍵詞  用,vbs,將,名稱,轉換,為,;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《用vbs將名稱轉換為正確的大小寫的代碼》相關的同類信息!
  • 本頁收集關于用vbs將名稱轉換為正確的大小寫的代碼的相關信息資訊供網民參考!
  • 推薦文章