标题: [文本处理] 批处理字符串截取方法,有几种? [打印本页]
作者: smatenchen 时间: 2022-10-4 16:13 标题: 批处理字符串截取方法,有几种?
字符串截取方法,有几种?
各位大神,请出手相助!
1,
先排除,%a:~1,2%,这种变量截取方法,这里讨论的是其它方法。
2,
除了变量截取方法,还有其它方法吗?
3,
for /f "delims=" %%a in ("1234567") do echo %%a
在这个for /f形式的命令里,可以做到从字符串"1234567",第n位开始,
截取其特定的片段吗?
例如,类似变量截取方法,截取其从第2位开始,到倒数第2位的片段。
若可以,那其中的"delims=",应该写成什么形式呢?
又或者运用其它命令,如findstr等,可以去做到吗
4,
请大神们出手相助!多谢!
作者: smatenchen 时间: 2022-10-4 16:19
回复 53# qixiaobin0715
回复 34# Batcher
1,
请两位大神出手相助!多谢!
作者: smatenchen 时间: 2022-10-5 10:35
本帖最后由 smatenchen 于 2022-10-5 19:43 编辑
回复 53# qixiaobin0715
1,
大神来过了吗?
怎么又把脚印给抹了呢?
是有何不妥吗?留下了一些不妥的话语后又后悔了吗?
2,
就事论事,我遇到了上述一些疑难,还请大神出手相助!多谢!
3,
另外,我发现%a:~1,2%,这个字符串变量截取方法,有瑕疵。
从前面截取,和从后面截取时,所用的原则,不一致。这令人厌恶!
也即,%a:~1,2%,%a:~-3,-1%,这两个操作会用不同的原则。
微软为何此时,不用同一原则呢?令人气恼啊!
作者: Batcher 时间: 2022-10-5 17:47
回复 1# smatenchen
delims只能设置列分隔符,它本身并没有截取字符串的功能。- @echo off
- for /f "delims=17" %%a in ("1234567") do (
- echo,%%a
- )
- pause
复制代码
作者: smatenchen 时间: 2022-10-5 20:49
回复 4# Batcher
1,
感谢大神!
2,
【delims只能设置列分隔符,它本身并没有截取字符串的功能。】
这个问题,我也注意到了,一时也想不出解决办法,就来发帖求助大神们了。
3,
如果就真有这么一道题,是不能用字符串变量截取方法的,
那有没有用其它命令来办到的方法呢?
4,
微软为何为此,只架了一条独木桥呢?
微软,实在令人起不了敬意啊!
作者: qixiaobin0715 时间: 2022-10-6 08:58
回复 3# smatenchen
无它,只是一个链接而已,又何来不妥话语和后悔。你想多了!
作者: qixiaobin0715 时间: 2022-10-6 09:23
光说不练,牢骚满腹,能学得好吗?如果对某项知识深恶痛绝,又能学得很好,那真是天才!
作者: smatenchen 时间: 2022-10-6 10:19
回复 6# qixiaobin0715
作者: smatenchen 时间: 2022-10-6 10:36
回复 7# qixiaobin0715
1,
感谢大神!
2,
看样子,大神也对这个疑难,束手无法,没法解决啊!
3,
【深恶痛绝,又能学得很好】?
大神如此说话,其道理何在呢?
那为何不是,指出问题,逼其修正,改良呢?
为何要将就微软的垃圾做法呢?为何不痛斥微软呢?
作者: qixiaobin0715 时间: 2022-10-6 10:38
本帖最后由 qixiaobin0715 于 2022-10-6 10:40 编辑
我没觉得微软不好啊。只是自己修炼不够而已!
作者: smatenchen 时间: 2022-10-6 11:11
回复 10# qixiaobin0715
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |