0

我有一个用下划线分隔的单词说的句子

sentence = matt_george_phil

我想将这句话中提到的名字转换成一个数组,即

arr[0] = matt
arr[1] = george
arr[2] = phil

我是批处理脚本的新手。有人可以告诉怎么做。谢谢。

我尝试过类似的东西

setlocal enableextensions enabledelayedexpansion
echo run

set sentence=a~b~c

set /a i=0

for /f "tokens=1,2,3 delims=~" %%a in ("%sentence%") do (
   set /a i+=1
   set array[!i!]=%%a
)

echo %array[1]%
echo %array[2]%

但这个逻辑似乎有些问题。

4

1 回答 1

0

BAT 语言没有数组的概念。但是,您可以使用各种技术模仿它。

一种这样的技术是利用 CALL 命令中传递的参数的自动解析。

阅读 HELP SET 和 HELP CALL 并试试这个......

SET sentence=matt_george_phil
SET sentence=%sentence:_=%
CALL :asarray %sentence%
goto :eof

:asarray
echo first element = %1
echo second element = %2
echo third element = %3
于 2013-09-10T16:11:41.613 回答