一直在joycode上看那么多的MVP分享他们的技术生活,感觉很好。
看到他们贴上各种各样的代码,还可以实现VS中的代码编辑效果,非常不错,心里一直在想是采用什么技术实现的呢,今天突然来到CSDN的Blog中,发现有这个功能,赶紧试用一下。
贴一段代码,看看效果先:
该代码是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 (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
% >
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
% >
效果确实不错,我很喜欢这种风格。