马上加入TC
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 贪吃蛇 于 2014-2-13 20:53 编辑
在TC自带的截取功能基础上,支持参数为字符串的情形。欢迎各位大大提意见。
- function strsubEx(str,begin,end)
- //功能:在字符串中截取指定区域内的字符串,如果无法确定区域则返回原字符
- //参数:str,原字符串;begin,整数型时是开始位置,字符型时是开始字符(串);end,整数型时是结束位置,字符型时是结束字符(串)
- //示例:strsubEx("abcdefghijklmn","b",5)的返回值是"cde";strsubEx("abcabc","b","a")的返回值是"c"
-
- posL=0 ,posR=0 //左右边界(范围)
- beginType=type.vartype(begin) ,endType=type.vartype(end)
- select(beginType)
- case "整型":
- posL=begin
- case "字符型":
- posL=str.findstr(str,begin)+str.strleng(begin)
- default:
- traceprint("参数beging类型错误,只能是整数型或字符型,字符串原样返回")
- return str
- endselect
- select(endType)
- case "整型":
- posR=end
- case "字符型":
- posR=str.findstr(str.strsub(str,posL,str.strleng(str)),end)+posL//此句原为posR=str.findstr(str,end),多谢小西指点特改正。
- default:
- traceprint("参数end类型错误,只能是整数型或字符型,字符串原样返回")
- return str
- endselect
- if(posL<0 || posR<0)
- traceprint("参数begin或end没找到,字符串原样返回")
- return str
- endif
- return str.strsub(str,posL,posR)
- endfunction
复制代码
|