【批处理】字符串处理

【字符串截取】
命令:%key:~[start,num]%
解释:当 %key% 中出现了 :~,则表示要对 key 指向的这个字符串做截取操作,截取操作支持以下几种形式:

  • 截取指定位置开始的 n 个字符串:%key:~0,4%,表示截取从下标 0 开始的之后 4 个字符
  • 截取从指定位置开始的整个字符串:%key:~4%,表示截取从下标为 4 开始的整个字符串
  • 截取通过倒数方式指定开始位置的整个字符串:%key:~-2%,表示截取从倒数第 2 个字符开始的整个字符串
  • 截取通过倒数方式指定位置开始之后的 n 个字符串:%key:-4,2%,表示截取从倒数第 4 个字符开始的 2 个字符
  • 正数倒数方式相结合:%key:~2,-2%,表示截取从下标 2 开始到倒数第 2 个之间的字符串

示例:
set name=0123456789
echo %name%

:: 表示截取从下标 0 开始的之后 4 个字符,输出:0123
echo %name:~0,4%

:: 表示截取从下标为 4 开始的整个字符串,输出:456789
echo %name:~4%

:: 表示截取从倒数第 2 个字符开始的整个字符串,输出:89
echo %name:~-2%

:: 表示截取从下标 2 开始到倒数第 2 个之间的字符串,输出:234567
echo %name:~2,-2%

:: 表示截取从倒数第 4 个字符开始的 2 个字符,输出67
echo %name:~-4,2%

输出结果:
0123456789
0123
456789
89
234567
67

【字符串拼接】
命令:%key1%%key2%
解释:将要拼接的那个字符串直接跟在被拼接的后面即可,不需要任何拼接操作符

示例:
set str1=01234
set str2=56789
echo %str1%%str2%

输出结果:
0123456789

【字符串替换】
命令:%key:被替换字符串=替换的字符串%

示例:
set str=112233445566
echo %str:3344=7788%

输出结果:
112277885566

参考引用:

https://www.cnblogs.com/dasusu/p/9058554.html

原文地址:https://www.cnblogs.com/utank/p/11798983.html