ASP中一个字符串处理类加强版

<%
'------------------------ASP中一个字符串处理类加强版------------------------
Class StringOperations 
 
  '***********************************************************************
   '' @功能说明: 把字符串换为char型数组
   '' @参数说明: - str [string]: 需要转换的字符串
   '' @返回值: - [Array] Char型数组
   '************************************************************************
   public function toCharArray(byVal str)
       dim charArray()
       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)
       dim strObj
       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)
       dim value
       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)
       dim value
       value = Mid(str, n+1)
       trimStart = value
   end function

   '****************************************************************************
   '' @功能说明: 删除源字符串str的最后N个字符串
   '' @参数说明: - str [string]: 源字符串
   '' @参数说明: - n [int]: 删除的字符个数
   '' @返回值: - [string] 删除后的字符串
   '****************************************************************************
   public function trimEnd(byVal str, n)
       dim value
       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)
       dim asciiValue
       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)
       dim swapCase
       dim i,current
       dim high,low,sum
       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)
       dim words(),i,tmp,    
       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,">","&gt;")
             str=Replace(str,"<","&lt;")
             str=Replace(str,Chr(32),"&nbsp;")
             str=Replace(str,Chr(9),"&nbsp;")
             str=Replace(str,Chr(34),"&quot;")
             str=Replace(str,Chr(39),"&#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
%> 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值