永发信息网

怎样写一句for语句的批处理,用来把一个字符串分割成一个一个的子字符串

答案:3  悬赏:30  手机版
解决时间 2021-12-02 21:37
  • 提问者网友:留有余香
  • 2021-12-02 09:18
怎样写一句for语句的批处理,用来把一个字符串分割成一个一个的子字符串
最佳答案
  • 五星知识达人网友:一叶十三刺
  • 2021-12-02 10:25
for /f "tokens=1,2,3,4 delims=-" %%i in ("-dxsafs-dpouiun-dhjihji-dpoiyu89n") do (

echo %%i
echo %%j
echo %%k
echo %%l)
tokens=1,2,3,4表示选取分割后的第1,2,3,4段内容
delims=- 表示以“-”为分割符来分割字符串追问这也太笨了啊,又不是只有这四个啊追答单独的命令都是处理预定规律、预定结构的字符,要处理不同情况就要组合命令
@echo off
set "words=-dxsafs-dpouiun-dhjihji-dpoiyu89n-d13jsuu-d63"
set twords=%words:-d= %
:loop
for /f "tokens=1,*" %%i in ("%twords%") do (
echo %%i
set twords=%%j)
if defined twords goto loop
pause
全部回答
  • 1楼网友:拾荒鲤
  • 2021-12-02 11:48
用split函数试试
  • 2楼网友:冷風如刀
  • 2021-12-02 11:28
@echo off
set "str=-dxsafs-dpouiun-dhjihji-dpoiyu89n"
set str1=%str:-d=,%
for %%i in (%str1%) do (echo %%i)
pause

 也可替换为空格

set str1=%str:-d= %追问恩,有灵感了,最后那句输出%%i 怎么换行呢?要用换行符吗?不想在一行输出来追答不用换行符直接输出就可以了.
例如
echo %%i>>1.txt追问根本不行,全输出成一行了,一定要一个换行符,但是我不知道换行符在批处理里面怎么写追答@echo off
set "str=-dxsafs-dpouiun-dhjihji-dpoiyu89n"
set str1=%str:-d=,%
for %%i in (%str1%) do (echo %%i)>>result.txt
pause

请测试上面的代码,本来就是换行的.

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯