ASP 中 Split 函數的執行個體分析

來源:互聯網
上載者:User

asp下使用split實現數組操作的方法
ASP 中 Split 函數的執行個體
  大家有碰到過要想取一字串裡的某些值而無從下手?有沒有覺得看書或教材對split的寫法糊裡糊塗……如果有此疑問的話,請看下面我對例子的解釋,相信您會對這個有一定的瞭解。

  我先介紹一下Split函數的用法:
 傳回值數組 = Split("字串","分割符")

  假設變數strURL儲存著URL值,如strURL = "ftp://username:password@server",這是我們在IE中登入到FTP上時的URL形式,如果我們想把其中的username和password取出來的話,該怎麼辦呢?當然解決的方法有許多,在這裡我們只介紹用Split來解決的方法。首先,我們找出分割符。我們發現在這個字串中,username和password之間有個冒號把它們隔開了,所以我們就把這個冒號作為Split函數的"分割符"來分割整個字串,最後達到取username和password的目的。代碼如下:
strURL = "ftp://username:password@server"
aryReturn = Split(strURL,":")

  這樣我們就把字串用冒號分割開了,分割後的結果儲存在aryReturn中(aryReturn是一個數組)。

  下面我們就來看看這個最終的結果吧,因為Split函數最終返回的是一個數組,所以我們主要就是顯示數組中的元素了,就要涉及到一些跟數組有關的函數:IsArray()判斷是否數組的函數,LBound()取數組的下標,UBound()取數組的上標。

Response.Write("傳回值是否為數組:" & IsArray(aryReturn) & "<br>")
For i = LBound(aryReturn) To UBound(aryReturn)
Response.Write("傳回值數組中的元素[" & i & "]:" & Right(aryReturn(i),Len(aryReturn(i))-2) & "<br>")
Next

  通過上面的代碼,我們看到字串被分割成三個部分,即:"ftp"、"//username"、"password@server"。我們要取username和password需要進一步的處理,我就不多說了,直接給出代碼。
  取username的代碼:
strUsername = Right(aryReturn(1),Len(aryReturn(1))-2)
  取password的代碼:

'取password我們又用到Split函數了,不過這回的分割符是"@"
aryTemp = Split(aryReturn(2),"@")
strPassword = aryTemp(0)
'我們可以順便取出server
strServer = aryTemp(1)

  分割符可以是一個字元,也可以是一個字串。如:
aryReturn = Split("ftp://username:password@server,"//")

  注意:
  1.一般來說,ASP中可以不聲明變數,使用Split函數時,如果要聲明傳回值的變數的話,只能用Dim,而不能用Redim。雖然說其返回是一個數組,應該是用Redim也可以,但在實際使用過程中是不行。不知是怎麼回事?
  2. 如果用Split函數來分割一個字串中並不存在的分割符時,將返回整個字串,其結果是只有一個元素的數組。

  後話,對於要取一字串中的某些字元或部分,只要抓住規律,再加上用split就可以很好做成各種效果。寫此文,希望對大家的學習有所協助,同時也希望各路高手能夠指點一二!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.