|
|
发表于 2012-5-15 00:30:18
|
显示全部楼层
本帖最后由 cjiabing 于 2012-5-15 00:39 编辑
格式:%str:~m,n%
str表示字符串变量,是一个从左至右的单向坐标轴,用位数表示单位,用横杠“-”表示反方向。
m表示指定位数、定位,从字符串的哪个位数开始提取;负的表示从后面第几位开始提取。
n表示指定个数,提取多少个字符;负的表示去掉后面多少个字符。
举例:
set str=我爱北京天安门
“我爱北京天安门”一共是7个字符;
字符 顺序 偏移量
-------------------------
我 1 0
爱 2 1
北 3 2
京 4 3
天 5 4
安 6 5
门 7 6
顺数的时候偏移量向后一位,也就是将位数减去1得到偏移量。比如第三位是“北”,偏移量就是3-1=2,提取时写成%str:~2,1%。
1、echo %str:~0,7%
表示从第1位开始提取,7表示提取7个字符串,显示“我爱北京天安门”。
2、echo %str:~0,3%
表示从第1位开始提取,一共提取3个,结果是“我爱北”。
3、echo %str:~4,3%
表示从第5位开始提取,一共提取三位,结果“天安门”。
4、echo %str:~0,-3%
表示从1位开始提取,排除掉、去掉最后3位,结果是“我爱北京”。
5、echo %str:~-3,3%
表示从倒数第3位开始提取,一共提取3位,结果是“天安门”。
6、echo %str:~-5,-2%
表示从倒数第5位开始提取,排除最后两位,提取两者中间的字符,结果是“北京天”。
从后面往前面数第5位是“北”,最后两位是“安门”,中间的就是“北京天”。
实在无聊在此乱打,随便看罢!如果要口诀可以这样:
左位右数——表示左边m是定位,右边n是定数;
左位负倒——表示左位是负“-”时从后面数起;
右数负除——表示右位是负“-”时除掉后面的位数。
因此:
正时:左定位数,右定个数
负时:左边从后数起,右边去掉后位 |
|