说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

pb中截取字符串的问题:急,在线等待

编辑:说三道四文库 发布时间:2018-07-17 09:07
HTML文档下载 WORD文档下载 PDF文档下载
问题描述:如字符串ls_temp = "ererer.dc.doc",我只想取出最后一个点的以后的字符串,而且最后一个点后的字符串的个数不固定是三个,请各位帮忙。
mid(ls_Temp, lastpos(ls_temp,"."))
for i = len(str) to 1 step -1
  if mid(str,i,1) = '.' then  return right(str,len(str) - i)
next
return ''
循环:
先用pos(Ls_temp,'.')得到第一个.的位置为i,
再判断pos(Ls_tem,'.',i+1)是否还能找到,如果找不到,出循环,如果找到那么新位置为i,重复这一步直到出循环。
到此得到的i就是最后一个.的位置
那么取串Ls_back = replace(Ls_temp,1,i,'')
差不多吧
mid(ls_Temp, lastpos(ls_temp,".") + 1)
No 1. 
ls_result=mid(ls_str, lastpos(ls_str,".") + 1)

No 2.
for i = len(ls_str) to 1 step -1
   if Mid(ls_str,i,1) = '.' then
      ls_result=Right(ls_str,len(ls_str) - i)
      exit
   end if
next
//问题关键是查找最后一个点的位置:利用pos
还需要 整个串的长度,不难知道应该截取的字符个数.用mid left right都可以

这是大多数人的常规想法
另外,也可以从后往前循环,每次返回一个字符,直到遇到"."为止.
然后把得到的串用Reverse()函数转
csdsjkk方法比较简单.总之方法很多





用right()最好,从后面开始找
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘