str ~
原來,在 set var=%str:~偏移量,長度% 這樣的語句中,如果沒有逗號及其之后的長度,就表示截取偏移量位置上及其之后的所有字符,如果長度的值為負數(shù),則表示拋棄最后幾個字符。
現(xiàn)在,我們可以對任意位置上的字符做提取工作了(假設(shè) set str=123456789):
① 提取1: set var=%str:~0,1% 或 set var=%str:~0,-8% 或 set var=%str:~-9,1%
② 提取2: set var=%str:~1,1% 或 set var=%str:~1,-7% 或 set var=%str:~-8,1%
③ 提取9: set var=%str:~8,1% 或 set var=%str:~8% 或 set var=%str:~-1,1% 或 set var=%str:~-1%
④ 提取123:set var=%str:~0,3% 或 set var=%str:~0,-6% 或 set var=%str:~-9,3%
⑤ 提取234:set var=%str:~1,3% 或 set var=%str:~1,-5% 或 set var=%str:~-8,3%
⑥ 提取789:set var=%str:~6,3% 或 set var=%str:~6% 或 set var=%str:~-3,3% 或 set var=%str:~-3%
最后,我們來總結(jié)一下字符截取的規(guī)律:
1、截取字符串可以用 set var=%str:~數(shù)值1,數(shù)值2% 這樣的語句來實現(xiàn);
2、字符的截取是以偏移量來計算的,而不是以字符的絕對位置來計算;
3、當數(shù)值1為正數(shù)時,表示從左到右截取;當數(shù)值1為負數(shù)時,表示從右到左截取;
4、當數(shù)值2為正數(shù)時,表示要截取后字符串的長度;當為負數(shù)時,表示要拋棄的最后幾個字符長度;
5、當數(shù)值2及其之前的逗號不存在時,表示截取的是第(數(shù)值1+1)個字符及其之后的所有字符;
=====================
=========================================
浙公網(wǎng)安備 33010602011771號