大家有碰到過要想取一字串裡的某些值而無從下手?有沒有覺得看書或教材對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) & "
")for i = lbound(aryreturn) to ubound(aryreturn)
response.write("返回值陣列中的元素[" & i & "]:" & right(aryreturn(i),len(aryreturn(i))-2) & "
")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就可以很好做成各種效果。寫此文,希望對大家的學習有所幫助,同時也希望各路高手能夠指點一二!
ASP中Split函式的例項
大家有碰到過要想取一字串裡的某些值而無從下手?有沒有覺得看書或教材對split的寫法糊里糊塗 如果有此疑問的話,請看下面我對例子的解釋,相信您會對這個有一定的了解。我先介紹一下split函式的用法 返回值陣列 split 字串 分割符 假設變數strurl儲存著url值,如strurl ftp us...
ASP 中 Split 函式的例項
大家有碰到過要想取一字串裡的某些值而無從下手?有沒有覺得看書或教材對split的寫法糊里糊塗 如果有此疑問的話,請看下面我對例子的解釋,相信您會對這個有一定的了解。我先介紹一下split函式的用法 返回值陣列 split 字串 分割符 假設變數strurl儲存著url值,如strurl ftp us...
ASP 中 Split 函式的例項
asp 中 split 函式的例項 瀏覽統計 total 12364 year 280 quarter 280 month 280 week 108 today 14 大家有碰到過要想取一字串裡的某些值而無從下手?有沒有覺得看書或教材對split的寫法糊里糊塗 如果有此疑問的話,請看下面我對例子的解...