开发者社区> 问答> 正文

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

水晶心泉 2017-02-19 23:56:50 1707
在处理字符串的时候,发现码栈居然没有查找指定字符串最后一次出现的位置的函数,这里是自己写的不喜勿喷。

方法/步骤
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"这个结果了
分享到
取消 提交回答
全部回答(1)
  • 码栈
    2017-02-20 10:33:01
    您的无私奉献精神值得我们学习!向您致敬!
    0 0
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

推荐文章