求一字符串的判断函数

bobii 2005-10-31 08:01:54
求一函数,
要求如下:

字符串a是通过request.form()传递过来的,要求
1、去掉该字符串a的头和尾的chr(10)
2、其他剩余中的内容,不能有两个或是两个以上的chr(10)并列

在此谢过

得到答案马上结帖····
...全文
168 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
itzhiren 2005-11-03
  • 打赏
  • 举报
回复
当然没有了,你不是说两个也替换成一个吗?
你替换成别的字符不就行了
rob123 2005-11-02
  • 打赏
  • 举报
回复
可以替换的。我测试的时候就上用a来测试的。一切正常.你可以设置一个变量来控制替换的内容。
bobii 2005-11-02
  • 打赏
  • 举报
回复
我发现问题的关键是,无法替换chr(10)

如果能解决replace(字符串,"替换成的字符",chr(10))这个问题就可以了·····
bobii 2005-11-02
  • 打赏
  • 举报
回复
其实以上几位的方法都不错

真的很感谢

不过朋友们,如果你们把以上的算法得到的字符串,用split(新字符串,chr(10)),结果是没有任何变化的
itzhiren 2005-11-02
  • 打赏
  • 举报
回复
a=replace(a,chr(10)&chr(10),chr(10))
if left(a,1)=chr(10) then
a=mid(a,2,len(a)-1)
end if
if right(a,1)=chr(10) then
a=mid(a,1,len(a)-1)
end if
bobii 2005-11-02
  • 打赏
  • 举报
回复
如果有就替换成一个,就可以了···
itzhiren 2005-11-02
  • 打赏
  • 举报
回复
2、其他剩余中的内容,不能有两个或是两个以上的chr(10)并列

如果有,怎么办?
rob123 2005-11-02
  • 打赏
  • 举报
回复
我的测试是正常的。你出现什么错误?
bobii 2005-11-02
  • 打赏
  • 举报
回复
为什么测试有错误??
八哥 2005-11-01
  • 打赏
  • 举报
回复

Function GetStr(str)
do while left(str,1)=chr(10)
str=right(str,len(str-1)
loop
do while right(str,1)=chr(10)
str=left(str,len(str-1)
loop
do while instr(str,chr(10)&chr(10))<>0
str=replace(str,chr(10)&chr(10),chr(10))
loop
GetStr=str
end function
rob123 2005-10-31
  • 打赏
  • 举报
回复
刚才的有点问题,现在测试通过.代码如下:

<%
'检查开头chr(10)的数量
m=1
do while asc(mid(a,m,1))=10
m=m+1
loop
'检查结尾chr(10)的数量
n=1
do while asc(right(a,n))=10
n=n+1
loop
'截取中间段
a=mid(a,m,len(a)-n-m+2)
'替换中间连续的chr(10)
do while instr(a,chr(10)&chr(10))<>0
a=replace(a,chr(10)&chr(10),chr(10))
loop
%>
rob123 2005-10-31
  • 打赏
  • 举报
回复
'检查开头chr(10)的数量
m=1
do while left(a,m)=chr(10)
m=m+1
loop
'检查结尾chr(10)的数量
n=1
do while right(a,n)=chr(10)
n=n+1
loop
'截取中间段
a=mid(a,m,len(a)-n+1)
'替换中间连续的chr(10)
do while instr(a,chr(10)&chr(10))<>0
a=replace(a,chr(10)&chr(10),chr(10))
loop
bobii 2005-10-31
  • 打赏
  • 举报
回复
哎(*****)
hxyman 2005-10-31
  • 打赏
  • 举报
回复
'去掉字符串头尾的连续的回车和空格
function trimVBcrlf(str)
trimVBcrlf=rtrimVBcrlf(ltrimVBcrlf(str))
end function

'去掉字符串开头的连续的回车和空格
function ltrimVBcrlf(str)
dim pos,isBlankChar
pos=1
isBlankChar=true
while isBlankChar
if mid(str,pos,1)=" " then
pos=pos+1
elseif mid(str,pos,2)=VBcrlf then
pos=pos+2
else
isBlankChar=false
end if
wend
ltrimVBcrlf=right(str,len(str)-pos+1)
end function

'去掉字符串末尾的连续的回车和空格
function rtrimVBcrlf(str)
dim pos,isBlankChar
pos=len(str)
isBlankChar=true
while isBlankChar and pos>=2
if mid(str,pos,1)=" " then
pos=pos-1
elseif mid(str,pos-1,2)=VBcrlf then
pos=pos-2
else
isBlankChar=false
end if
wend
rtrimVBcrlf=rtrim(left(str,pos))
end function
bobii 2005-10-31
  • 打赏
  • 举报
回复
显然这个不行的嘛
Amely 2005-10-31
  • 打赏
  • 举报
回复
a=replace(a,chr(10)&chr(10),chr(10))

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧