ASP截取字符串
来源:互联网 发布:新生儿玩具 知乎 编辑:程序博客网 时间:2024/05/22 12:54
'--------------------数字向汉字转换的函数集合 ------------------------
'作者:northsnow
'日期:20051217
'调用方法: a=convertNumToStr("1234.5678")
'功能: 将这样的串 1234.5678 转换成 一千二百三十四点五六七八
''将一串数字转成对应的汉字
function convertNumToStr(pNum)
dim oNum,rValue
oNum=pNum:rValue=""
'如果给定的不是合理的数字,则返回空串
if not CheckPattern(oNum,z_PatNum) then
ConvertNumToStr=rValue
exit function
end if
'将数字前面无用的0去掉
set rLjc=new RegExp
rLjc.Pattern="^0{2,}([^.])"
oNum=rLjc.Replace(oNum,"$1")
rLjc.Pattern="^0{2,}(/.)"
oNum=rLjc.Replace(oNum,"0$1")
'将小数点前后部分分开
arrNum=split(oNum,".")
frontNum=arrNum(0)
backNum=""
if ubound(arrNum)>0 then backNum=arrNum(1)
'---- 转换小数点前面的数----
oLen=len(frontNum)
if oLen=1 then '只有一位
rValue=convertNumToCC(frontNum)
elseif oLen=2 then '只有两位
if(mid(frontNum,1,1))<>"1" then rValue=convertNumToCC(mid(frontNum,1,1))
rValue=rValue & getDigit(2)
if(mid(frontNum,2,1))<>"0" then rValue=rValue & convertNumToCC(mid(frontNum,2,1))
else '大于两位的情况
dim curPos,curNum,hasZero
hasZero=false '表明在此前有没有相连接的零
for i=1 to oLen
curPos=oLen-i + 1
curNum=mid(frontNum,i,1)
if cint(curNum)=0 then '当前位数为零
hasZero=true
'当当前位为万位或者亿位,则进行处理
if (curPos -1) mod 4=0 and curPos>4 then
rValue=rValue & getDigit(curPos)
end if
else '当前位数不是零
if hasZero then
rValue=rValue & "零"
hasZero=false
end if
rValue=rValue & convertNumToCC(curNum) & getDigit(curPos)
end if
next
end if
'转换小数点后面的
if backNum<>"" then
strBack=""
for i=1 to len(backNum)
strBack=strBack & convertNumToCC(mid(backNum,i,1))
next
rValue=rValue & "点" & strBack
end if
convertNumToStr=rValue
end function
''将一个数字转成对应的汉字
function convertNumToCC(pNum)
select case pNum
case 1:convertNumToCC="一"
case 2:convertNumToCC="二"
case 3:convertNumToCC="三"
case 4:convertNumToCC="四"
case 5:convertNumToCC="五"
case 6:convertNumToCC="六"
case 7:convertNumToCC="七"
case 8:convertNumToCC="八"
case 9:convertNumToCC="九"
case 0:convertNumToCC="零"
end select
end function
'根据位数返回对应的汉字
function getDigit(oDigit)
if (oDigit+2) mod 4=0 then
getDigit="十"
elseif (oDigit +1) mod 4=0 then
getDigit="百"
elseif oDigit mod 4=0 then
getDigit="千"
elseif (oDigit -1) mod 4=0 then
if ((oDigit-1)/4) mod 2=0 then
getDigit="亿"
else
getDigit="万"
end if
end if
end function
-------==========================
用asp中的字节数来拆分字符串。
如:str=" 洋干果店号胶州东路向阳市场新商衣传贵洋干果店号胶州东路向阳市场新商衣传贵洋干果店号胶州东路向阳市场新商衣传贵洋干果店号胶州东路向阳市场新商衣传贵洋干果店号胶州东路向阳市场新商衣传贵洋干果店号胶州东路向阳市场新商衣传贵洋干果店号胶州东路向阳市场新商衣传贵 "
len(str) 是126 个字符
现在想用字节数来截取。若超过 150 字节就自动转换到下一行。
拆分后 :
string1="洋干果店号胶州东路向阳市场新商衣传贵洋干果店号胶州东路向阳市场新商衣传贵洋干果店号胶州东路向阳市场新商衣传贵洋干果店号胶州东路向阳市场新商衣传贵洋干果
"
string2="..."
string3="..."
============
x=1
y=取整(len(str)/150)+1
for x=1
str1=left(str,x*150)
for x=2 to y
str[x]=mid(str,(x-1*150),x*150)
^^^^^
基本函数
left(要截取的字符串,要截取的长度)’从左边开始截取指定长度的字符
right(要截取的字符串,要截取的长度)’从右边开始截取指定长度的字符
MID(要截取的字符串,开始截取的位置, 要截取的长度)从任意位置开始截取指定长度的字符
函数型
'Strsub
'函数功能:字符串截取.
'参数意义:str --- 要截取的字符串. lennum--截取的字符数. s--结尾字符
Function Strsub(str,lennum,s)
If Not IsNull(str) Then
Dim p_num,x
Dim i
If strlen(str)<=lennum Then
Strsub=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
Strsub=Left(Trim(str),x)&s //截取后定义超出部分内容的显示方式
Loop
End If
Else
Strsub="Null"
End If
End Function
'调用
<%=Function Strsub("aaaaaaaaaa",3,"...")%>
'将输出:aaa...
=============
字符串截取技术(探讨用InStrRev函数配合Right/Left函数截取字符串)
VB的Right函数、Left函数提供了从左或从右在已知字符串中截取指定数量的未知字符串的功能,不过要获取某个特定字符前面或者后面的字符串,情形就不一样了,比如我们要在字符串"E:/MyFavourite/001/xxx.xxx"中截取最后一个"/"后面的字符串亦即文件名,单单用上述几个函数是难以实现的,因为文件名的字节数难以确定。这时函数InStrRev就派上用场了。InStrRev返回一个字符串在另一个字符串出现的位置,充分利用它可以轻而易举地截取所要的内容。
下面举个实例来加以说明,希望大家可以从中得到启示。本例仅需要一个TextBox控件。
PrivateSubForm_Load()
'声明已知字符串的字节数、"/"所在位置的变量
DimnAsInteger‚mAsInteger
'声明字符串变量
DimiAsString‚jAsString
j="E:/Music/MyFavourite/001/Spring.mp3"'已知字符串初值
i="/"'要查找的指定字符
Forn=1ToLen(j)'这里用了Len函数来计算已知字符串的字节数
m=InStrRev(j‚i‚-1)'"/"所在的位置(其中的-1是默认的)
Nextn
'显示最后一个"/"后面的字符串
Text1.Text=Right(j‚Len(j)-m)
EndSub
运行程序,文本框中的是不是明明白白地躺着"Spring.mp3"?试着改一改j变量,得到的结果是不是预期的?->
- asp 字符串截取函数
- ASP截取字符串函数
- ASP截取字符串
- ASP截取字符串函数
- asp.net截取字符串
- Asp.Net截取字符串输出
- asp.net截取字符串方法
- asp忽略中英文截取字符串
- asp.net 截取字符串代码
- asp 截取字符串函数
- asp截取字符串函数_asp怎么截取字符串
- ASP中截取字符串的方法
- asp可用下列函数截取字符串
- [转]asp.net区分中英文字符串截取
- 关于asp.net的字符串截取
- asp 截取字符串中空格的处理
- ASP如何计算中英文混合字符串长度和截取字符串
- ASP如何计算中英文混合字符串长度和截取字符串 .
- 职业规划曲线
- 科技改变生活,畅享网络生活
- 函数参数中的&符号
- 几种 Flex 开发框架
- 第四章----Struts标签总结
- ASP截取字符串
- this指针
- Fedora10使用记录之一
- c++桥模式
- blog被封了文章全被删除了,郁闷
- WebWork深入浅出
- B/S访问本地程序!
- UVA 10702
- Ajax框架jQuery推新版 1.3 改进核心代码