开发者社区> 问答> 正文

码栈获取最后指定字符串最后一次出现的位置

在处理字符串的时候,发现码栈居然没有查找指定字符串最后一次出现的位置的函数,这里是自己写的不喜勿喷。

方法/步骤
1
反转字符串的方法
;反转给定的字符串
Func StrReverse($str)
;获取字符串长度
$length = J_String($str, "长度", "")
;定义用来盛放新字符串的变量
$nstr = ""
;反转字符串
for $i = $length to 1 step -1
$nstr = $nstr & J_String($str, "取子串", $i & "," & 1)
next
;返回结果
return $nstr
EndFunc
2
然后是查找指定字符串在原字符串中的位置的函数
Func lastIndexOf($str, $findstr)
;反转字符串
$nstr = StrReverse($str)
;获取字符串总长度
$length = J_String($str, "长度", "")
;获取指定字符串在反转后的字符串中的位置
$loc = J_String($nstr, "是否包含", $findstr)
;根据情况处理返回值
if $loc = 0 Then
Return 0
Else
return $length - $loc + 1
EndIf
EndFunc   ;==>lastIndexOf
3
将以上两个函数同时放到代码编辑里面就可以使用了,如要取"//baidu.com/logo_demo1.jpg_1.jpg"中的前面部分的图片地址
$picAddress="//baidu.com/logo_demo1.jpg_1.jpg"
$picRealAddress=J_String($picAddress, "取左子串", lastIndexOf($picAddress, "_")-1)
就可以得到"//baidu.com/logo_demo1.jpg"这个结果了

展开
收起
水晶心泉 2017-02-19 23:56:50 2653 0
1 条回答
写回答
取消 提交回答
  • 您的无私奉献精神值得我们学习!向您致敬!
    2017-02-20 10:33:01
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载