Bat批处理脚本字符串截取、替换、合并操作
1.字符串截取操作
截取字符串中的特定位置的一个或多个字符,语法格式:
%variable:~n,m%
参数说明:
variable:要截取字符串的变量名称;
n:开始截取字符串的偏移量;如果为正数,则从左边开始;如果为负数,则从右边开始;
m:要截取字符的个数。如果没有指定个数,则从偏移量位置开始截取剩下的所有字符。如果两个数字 (偏移量和长度) 都是负数,则偏移量是字符串长度加上(偏移量或长度)的负数,看文字不太好理解,后面通过实例进行解释。
示例:
@chcp 65001
@echo off
set zifu=abcdefghijklmnopqrstwuvxyz
echo 原字符串:
echo %zifu%
rem abcdef
echo 截取前6个字符:
echo %zifu:~0,6%
rem ghijklmnopqrstwuvxyz
echo 截取第7个字符直到最后一个字符
echo %zifu:~6%
rem wuvxyz
echo 截取最后6个字符:
echo %zifu:~-6%
echo %zifu:~-6,6%
rem abcdefghijklmnopqrstwu
echo 截取第一个到倒数第5个字符:
echo %zifu:~0,-4%
rem cdefgh
echo 从第3个字符开始,截取6个字符:
echo %zifu:~2,6%
rem qrs
echo 从倒数第10个字符开始,截取3个字符:
echo %zifu:~-10,3%
pause
运行结果:
2.字符串替换操作
将某一字符串中的特定字符或字符串替换为给定的字符串。语法如下:
%variable:str1=str2%
参数说明:
variable:变量名,存放字符串。
str1:被替换的字符串。
str2:替换成的字符串,将使用该字符串去替换字符串中所有的 str1 字符串。
示例:将world替换成man
@chcp 65001
@echo off
set aa=hello world! it's a good world!
echo 替换前:%aa%
echo 替换后:%aa:world=man%
echo aa=%aa%
set aa=%aa:world=man%
echo aa=%aa%
pause
运行结果:
3.字符串合并操作
字符串合并很简单,就是将两个字符串放在一起。
示例:
@chcp 65001
@echo off
set A=good
set B=student
rem 直接输出合并后的字符串
echo %A%%B%
rem 将合并后的字符串放入 C 变量中
set C=%A%%B%
echo %C%
pause
运行结果:
网友评论