ASP中一个字符串处理类函数,处理得非常漂亮,佩服阿

以下是源代码:

<%
   
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(strlen(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 <= 90or (97 <= asciiValue and asciiValue <= 122then
   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(strThen 
   checkstr
=""
  else
   checkstr
=Replace(Trim(Str),"'","''")
  
end if
 
End function


'****************************************************************************
    '' @功能说明: 将字符串中的str中的HTML代码进行过滤
    '' @参数说明:  - str [string]: 源字符串
    '' @返回值:   - [string] 转换后的字符串
    '****************************************************************************
 Public Function HtmlEncode(str)
  
If Trim(Str)="" Or IsNull(strthen
   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(strThen 
   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

%
>
posted on 2005-06-24 07:34  竹子  阅读(353)  评论(0编辑  收藏  举报