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

yjp2001187 2003-09-15 09:51:25
问题描述:如字符串ls_temp = "ererer.dc.doc",我只想取出最后一个点的以后的字符串,而且最后一个点后的字符串的个数不固定是三个,请各位帮忙。
...全文
252 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
luther2003 2003-09-16
  • 打赏
  • 举报
回复
用right()最好,从后面开始找
azh9703 2003-09-15
  • 打赏
  • 举报
回复
//问题关键是查找最后一个点的位置:利用pos
还需要 整个串的长度,不难知道应该截取的字符个数.用mid left right都可以

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





jp2k 2003-09-15
  • 打赏
  • 举报
回复
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
csdsjkk 2003-09-15
  • 打赏
  • 举报
回复
mid(ls_Temp, lastpos(ls_temp,".") + 1)
workhand 2003-09-15
  • 打赏
  • 举报
回复
循环:
先用pos(Ls_temp,'.')得到第一个.的位置为i,
再判断pos(Ls_tem,'.',i+1)是否还能找到,如果找不到,出循环,如果找到那么新位置为i,重复这一步直到出循环。
到此得到的i就是最后一个.的位置
那么取串Ls_back = replace(Ls_temp,1,i,'')
差不多吧
csdsjkk 2003-09-15
  • 打赏
  • 举报
回复
for i = len(str) to 1 step -1
if mid(str,i,1) = '.' then return right(str,len(str) - i)
next
return ''
handi 2003-09-15
  • 打赏
  • 举报
回复
mid(ls_Temp, lastpos(ls_temp,"."))

1,075

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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