批处理字符截取
前言
介绍字符截取。
正文
set str=123456789
echo %str:~1,1%
得到的结果是什么?
得到的结果是2。
为什么会是2呢?
有两个参数,分别是1,另一个还是1。
第一个参数是偏移量,第二个是取值范围。
但是事实上没有这么简单:
set str=123456789
set var=%str:~-3%
得到的结果是789,为什么是789呢?
这个就是-3是从右偏移,然后偏移3个位置就是6。
如果第二个数不些的话,就是其之后的数据。
同理:
set str=123456789
set var=%str:~-5,4%
得到的就是5678。
那么如果第二个是负数呢?
set str=123456789
set var=%str:~0,-4%
那么这个是从0到最后一个数,但是除了最后4个数字,那么就是12345了。
练习:
通过变量截取把 “今日明月在” 变成 “明月今日在” 显示出来。
我的解答:
set str=今日明月在
set var=%str:~2,2%%str:~0,2%%str:~-1%