标题: [文本处理] [已解决]批处理for语句的delims如何使用多个字符/字符串为分隔符? [打印本页]
作者: lj84831253 时间: 2010-4-13 17:09 标题: [已解决]批处理for语句的delims如何使用多个字符/字符串为分隔符?
本帖最后由 pcl_test 于 2016-7-14 22:56 编辑
我写成delims=ab的话就是使用a和b为分隔符,但是实际上我是想用“ab”为分隔符,那我该怎么写呢?谢谢。
[ 本帖最后由 lj84831253 于 2010-4-18 16:05 编辑 ]
作者: Seter 时间: 2010-4-13 17:27
先set x=%x:ab=#%一下再用#分割可以么?
作者: GNU 时间: 2010-4-13 17:37
delims本身没有这样的功能
作者: batman 时间: 2010-4-13 18:54
遇到这样的情况,就像二楼一样用变通的方法吧,命令是死的,人是活的!
作者: Spring 时间: 2010-4-14 13:25
给你个演示:- @echo off
- set "s1=ef"
- set "s2=hi"
- setlocal enabledelayedexpansion
- for /f "tokens=1,2,3* delims=%s1%%s2%" %%a in ("abcdefghijklmnopqrstuvwxyz") do (
- echo 第一段:%%a
- echo 第二段:%%b
- echo 剩下的:%%c
- )
- pause>nul
复制代码
作者: xieqingx 时间: 2010-4-14 21:24
学习了,以前从没有想过这个问题
作者: GNU 时间: 2010-4-14 21:30
可以考虑使用gawk
作者: todayambition 时间: 2010-4-14 22:25
这个问题好,以前没有想到过
作者: FOR 时间: 2010-4-14 22:42 标题: 回复 5楼 的帖子
试试这个字符串 aebhcidefghijklmnopqrstuvwxyz
作者: yangfengoo 时间: 2010-4-15 07:16
原帖由 Spring 于 2010-4-14 13:25 发表
给你个演示:@echo off
set "s1=ef"
set "s2=hi"
setlocal enabledelayedexpansion
for /f "tokens=1,2,3* delims=%s1%%s2%" %%a in ("abcdefghijklmnopqrstuvwxyz") do (
echo 第一段:%%a
echo 第二段: ...
若果
set "s1=es"
set "s2=hk"呢
作者: Spring 时间: 2010-4-15 09:17
哦,原来还是不行啊,跟
for /f "tokens=1,2,3* delims=efhi" %%a in ("abcdefghijklmnopqrstuvwxyz") do ******
的效果一样。。。
作者: pcl_test 时间: 2016-7-14 22:57
- @echo off
- set "str=aybcdefgabhijklmnopqabrstuvwxyz"
- set "str=%str:ab=#%"
- for /f "tokens=1-3* delims=#" %%a in ("%str%") do (
- echo 第一段:%%a
- echo 第二段:%%b
- echo 剩下的:%%c
- )
- pause
复制代码
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |