国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > VBScript > 正文

用vbs將名稱截斷以使其最多包含 16 個字符的代碼

2020-07-26 12:02:51
字體:
來源:轉載
供稿:網友
問:
您好,腳本專家!如何將名稱截斷以使其最多包含 16 個字符?
-- BN
答:
您好,BN。打起精神來:我們又要開始記憶長廊之旅了。曾經有個腳本專家上大學的時候,他在綠巨人公司找了一份暑期臨時工,任務就是在辦公室里監督華盛頓東部的蘆筍收割。當時,綠巨人有一個陳舊笨重的計算機系統,用來記錄蘆筍的數量 - 然后再記錄要付給所有收割者多少錢。這個系統有一個問題,但是(事實上,它的問題不只一個,不過 …):它被設置為姓氏最多可使用 10 個字符,而許多工人的姓都比 10 個字符要長(例如,Myer-Ackerman)。每次數據輸入人員輸入一個比 10 個字符長的名稱時,整個系統都會鎖死,因此他們的工作站常常必須重新啟動。(這都是在出現 Microsoft Windows 之前的事了。)
這個腳本專家那時根本談不上是腳本專家;事實上,他使用計算機的經驗主要局限于在 Commodore 64 上玩 Zork。可是現在,作為辦公室里唯一的大學生,他被委任以修復此數據輸入程序的重任(幸運的是,數據庫本身沒有這種限制)。他的工作就是在程序試圖將名稱保存到數據庫之前,確保截斷所有多于 10 個字符的名稱。
換句話說,這與您需要完成的任務非常相似。那時我們的腳本專家工作在 BASIC 的某個專有分支領域,他的解決方案就是使用 Left 函數獲取某個名稱的前 10 個字母,并以此來作為此工人的姓。現在,差不多 20 年之后,想想您的問題的解決方案是什么?
復制代碼 代碼如下:

strName = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" 
strName = Left(strName, 16) 
Wscript.Echo strName 

經典的解決方案從來不會過時,是吧?這個腳本從我們 20 年前停手的地方開始:它將一個很長的字符串(本例中為字母表)賦值給名為 strName 的變量:
strName = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
接下來是下面這行代碼:
strName = Left(strName, 16)
這行代碼將一個新值賦給變量 strName。那么這個新值是什么呢?它將是 strName 當前值的前 16 個字符。這就是 Left 函數的作用:它從此字符串的第一個字符開始計數,一直數到 16 個字符,就像這樣:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
這 16 個字符,且僅這 16 個字符,將賦給變量 strName。然后,回顯 strName 的新值,我們會得到如下字符串:
ABCDEFGHIJKLMNOP
很酷吧。此腳本很有效,即使 strName 是從 2600 個字符的 26 個字符開始效果也一樣:結果都是僅使用前 16 個字符。啊,但是如果字符串少于 16 個字符會怎么樣?例如,此腳本會失敗嗎,因為它試圖獲取 16 個字符,而根本沒有 16 個字符?
strName = "ABCD"
strName = Left(strName, 16)
Wscript.Echo strName
幸運的是答案是否定的:此腳本會順利運行。如果某字符串少于 16 個字符,則 Left 函數只獲取它所能找到的所有字符,并將此值賦值給 strName。在本例中,strName 等于 ABCD,此字符串中僅有的 4 個字符。
現在,再緬懷一下過去的美好時光。我們告訴過您當這個腳本專家正坐在他的綠巨人辦公室里時,一條響尾蛇爬進來嗎?這是真的。他正坐在那兒,努力思考將姓限制為 10 個字符的方法,正在這時 -- 天哪;今天的時間到了。我們必須改天再繼續講這個故事了。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 剑阁县| 司法| 陵川县| 泗阳县| 当雄县| 鸡东县| 乐平市| 黄石市| 万年县| 资阳市| 莲花县| 策勒县| 温泉县| 淄博市| 凭祥市| 稷山县| 凤城市| 阿拉善盟| 托克逊县| 三明市| 孟津县| 茌平县| 陇南市| 德惠市| 德兴市| 肃南| 台东县| 永城市| 台南县| 青冈县| 义马市| 西贡区| 吴江市| 麻城市| 巴林右旗| 冀州市| 高安市| 云梦县| 赣榆县| 台山市| 安多县|