ASP中一個字串處理類加強版(VBScript)

來源:互聯網
上載者:User
 相關文章參見:

  http://www.csdn.net/Develop/read_article.asp?id=22695

  本文在此基礎上進行了一些添加,加了幾個適合中文網站的FUNCTION進去,可能還有些沒有補充進去,有感興趣的朋友可以再在此基礎上加一點FUNCTION進去,不過可別忘記分享一下!

   <%
   class StringOperations

   '***********************************************************************
   '' @功能說明: 把字串換為char型數組
   '' @參數說明:  - str [string]: 需要轉換的字串
   '' @傳回值:   - [Array] Char型數組
   '************************************************************************
    public function toCharArray(byVal str)
     redim charArray(len(str))
     for i = 1 to len(str)
   charArray(i-1) = Mid(str,i,1)
     next
     toCharArray = charArray
    end function
 
    '****************************************************************************
    '' @功能說明: 把一個數群組轉換成一個字串
    '' @參數說明:  - arr [Array]: 需要轉換的資料
    '' @傳回值:   - [string] 字串
    '****************************************************************************
    public function arrayToString(byVal arr)
     for i = 0 to UBound(arr)
      strObj = strObj & arr(i)
     next
     varrayToString = strObj
    end function

    '****************************************************************************
    '' @功能說明: 檢查源字串str是否以chars開頭
    '' @參數說明:  - str [string]: 源字串
    '' @參數說明:  - chars [string]: 比較的字元/字串
    '' @傳回值:   - [bool]
    '****************************************************************************
    public function startsWith(byVal str, chars)
     if Left(str,len(chars)) = chars then
      startsWith = true
     else
      startsWith = false
     end if
    end function
 
    '****************************************************************************
    '' @功能說明: 檢查源字串str是否以chars結尾
    '' @參數說明:  - str [string]: 源字串
    '' @參數說明:  - chars [string]: 比較的字元/字串
    '' @傳回值:   - [bool]
 '****************************************************************************
 public function endsWith(byVal str, chars)
  if Right(str,len(chars)) = chars then
   endsWith = true
  else
   endsWith = false
  end if
 end function
 
    '****************************************************************************
    '' @功能說明: 複製N個字串str
    '' @參數說明:  - str [string]: 源字串
    '' @參數說明:  - n [int]: 複製次數
    '' @傳回值:   - [string] 複製後的字串
    '****************************************************************************


 

public function clone(byVal str, n)
  for i = 1 to n
   value = value & str
  next
  clone = value
 end function
 
    '****************************************************************************
    '' @功能說明: 刪除源字串str的前N個字元
    '' @參數說明:  - str [string]: 源字串
    '' @參數說明:  - n [int]: 刪除的字元個數
    '' @傳回值:   - [string] 刪除後的字串
    '****************************************************************************
 public function trimStart(byVal str, n)
  value = Mid(str, n+1)
  trimStart = value
 end function
 
    '****************************************************************************
    '' @功能說明: 刪除源字串str的最後N個字串
    '' @參數說明:  - str [string]: 源字串
    '' @參數說明:  - n [int]: 刪除的字元個數
    '' @傳回值:   - [string] 刪除後的字串
    '****************************************************************************
 public function trimEnd(byVal str, n)
  value = Left(str, len(str)-n)
  trimEnd = value
 end function
 
    '****************************************************************************
    '' @功能說明: 檢查字元character是否是英文字元 A-Z or a-z
    '' @參數說明:  - character [char]: 檢查的字元
    '' @傳回值:   - [bool] 如果是英文字元,返回TRUE,反之為FALSE
    '****************************************************************************
 public function isAlphabetic(byVal character)
  asciiValue = cint(asc(character))
  if (65 <= asciiValue and asciiValue <= 90) or (97 <= asciiValue and asciiValue <= 122) then
   isAlphabetic = true
  else
   isAlphabetic = false
  end if
 end function

    '****************************************************************************
    '' @功能說明: 對str字串進行大小寫轉換
    '' @參數說明:  - str [string]: 源字串
    '' @傳回值:   - [string] 轉換後的字串
    '****************************************************************************
 public function swapCase(str)
  for i = 1 to len(str)
   current = mid(str, i, 1)
   if isAlphabetic(current) then
    high = asc(ucase(current))
    low = asc(lcase(current))
    sum = high + low
    return = return & chr(sum-asc(current))
   else
    return = return & current
   end if
  next
  swapCase = return
 end function
 
    '****************************************************************************
    '' @功能說明: 將源字串str中每個單詞的第一個字母轉換成大寫
    '' @參數說明:  - str [string]: 源字串
    '' @傳回值:   - [string] 轉換後的字串
    '****************************************************************************
 public function capitalize(str)
  words = split(str," ")
  for i = 0 to ubound(words)
   if not i = 0 then
    tmp = " "
   end if
   tmp = tmp & ucase(left(words(i), 1)) & right(words(i), len(words(i))-1)
   words(i) = tmp
  next
  capitalize = arrayToString(words)
 end function

    '****************************************************************************
    '' @功能說明: 將源字元Str後中的'過濾為''
    '' @參數說明:  - str [string]: 源字串
    '' @傳回值:   - [string] 轉換後的字串
    '****************************************************************************
 public function checkstr(Str)
  If Trim(Str)="" Or IsNull(str) Then
   checkstr=""
  else
   checkstr=Replace(Trim(Str),"'","''")
  end if
 End function


 ****************************************************************************
    '' @功能說明: 將字串中的str中的HTML代碼進行過濾
    '' @參數說明:  - str [string]: 源字串
    '' @傳回值:   - [string] 轉換後的字串
    '****************************************************************************
 Public Function HtmlEncode(str)
  If Trim(Str)="" Or IsNull(str) then
   HtmlEncode=""
  else
   str=Replace(str,">",">")
   str=Replace(str,"<","<")
   str=Replace(str,Chr(32)," ")
   str=Replace(str,Chr(9)," ")
   str=Replace(str,Chr(34),""")
   str=Replace(str,Chr(39),"'")
   str=Replace(str,Chr(13),"")
   str=Replace(str,Chr(10) & Chr(10), "</p><p>")
   str=Replace(str,Chr(10),"<br> ")
   HtmlEncode=str
  end if
 End Function

    '****************************************************************************
    '' @功能說明: 計算源字串Str的長度(一個中文字元為2個位元組長)
    '' @參數說明:  - str [string]: 源字串
    '' @傳回值:   - [Int] 源字串的長度
    '****************************************************************************
 Public Function strLen(Str)
  If Trim(Str)="" Or IsNull(str) Then
   strlen=0
  else
   Dim P_len,x
   P_len=0
   StrLen=0
   P_len=Len(Trim(Str))
   For x=1 To P_len
    If Asc(Mid(Str,x,1))<0 Then
     StrLen=Int(StrLen) + 2
    Else
     StrLen=Int(StrLen) + 1
    End If
   Next
  end if
 End Function

    '****************************************************************************
    '' @功能說明: 截取源字串Str的前LenNum個字元(一個中文字元為2個位元組長)
    '' @參數說明:  - str [string]: 源字串
    '' @參數說明:  - LenNum [int]: 截取的長度
    '' @傳回值:   - [string]: 轉換後的字串
    '****************************************************************************
 Public Function CutStr(Str,LenNum)
  Dim P_num
  Dim I,X
  If StrLen(Str)<=LenNum Then
   Cutstr=Str
  Else
   P_num=0
   X=0
   Do While Not P_num > LenNum-2
    X=X+1
    If Asc(Mid(Str,X,1))<0 Then
     P_num=Int(P_num) + 2
    Else
     P_num=Int(P_num) + 1
    End If
    Cutstr=Left(Trim(Str),X)&"..."
   Loop
  End If
 End Function

end class
%>



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

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

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