Board logo

标题: [文本处理] 批处理set截取字符加上负号之后如何理解? [打印本页]

作者: 1130342432    时间: 2011-7-29 15:42     标题: 批处理set截取字符加上负号之后如何理解?

看了一篇文章如下:
http://www.hackbase.com/tech/2009-11-09/57799.html
不加负号还能理解,加上负号就过不去了,还有就是 偏移量和长度 是不是不能同时加负号?
高手救我啊
作者: mstsc    时间: 2011-7-29 16:18

本帖最后由 mstsc 于 2011-7-29 16:23 编辑

回复 1# 1130342432


    偏移量和长度    都可以加负号   长度加负号的意思就是不要偏移量后多少位      加上负号,你就从右边向左边来理解。(加负号,就是反方向来理解)
作者: Batcher    时间: 2011-7-29 20:26

看过这几个没?

批处理set命令截取字符详解
http://bbs.bathome.net/thread-996-1-1.html

批处理set命令变量字符截取点点通
http://bbs.bathome.net/thread-40-1-1.html

批处理新手set命令截取字符练习工具
http://bbs.bathome.net/thread-1149-1-1.html
作者: Hello123World    时间: 2011-7-31 12:19

  1. @echo off
  2. Set a=hello world
  3. echo %a:~1,2%
  4. echo %a:~-1,2%
  5. pause
复制代码
::其实你要这么理解,假设有个小数点在字符串"hello world"之间,
~1,2第一个数字定位小数点的起始,第二个数字定位小数点的终止,
当数字为正数时小数点就从左往右偏移,当数字为负数的时候就从右往左偏移。
例如
%a:~-1,2%为什么是d呢,定位起始是从右往左偏移 hello worl.d,
定位终止虽然是从左往右偏移两位,但是hello worl.d后面只有一个d了,所以只显示1个d。

我自编个口诀:
小数点
第一是起始,第二是终止。
正数左到右,负数右到左。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2