У меня есть строки в формате 12341234;Super Coca Cola
в партии, где обе стороны ;
являются переменной длиной. Я хочу разбить строку на части и получить обе подстроки. Как мне это сделать?Пакет - разбить строку на две подстроки, разделенные разделительным символом
Обновление: вот мое попытающееся решение проблемы.
for /F "tokens=*" %%Z in ('type "C:\Users\daniel.bak\Desktop\Tableau Client Data Extracts\Master Data Extracts\clients.txt"') do (
for /f "delims=; tokens=1,2" %%B in (%%Z) do (
echo %%B
echo %%C
)
)
pause
Что я получаю в качестве вывода:
C:\Users\daniel.bak\Desktop\Tableau Client Data Extracts\Master Data Extracts>fo
r /F "tokens=*" %Z in ('type "C:\Users\daniel.bak\Desktop\Tableau Client Data Ex
tracts\Master Data Extracts\clients.txt"') do (for /F "delims=; tokens=1,2" %B i
n (%Z) do (
echo %B
echo %C
))
C:\Users\daniel.bak\Desktop\Tableau Client Data Extracts\Master Data Extracts>(f
or /F "delims=; tokens=1,2" %B in (2;Glaxo Smith Kline) do (
echo %B
echo %C
))
The system cannot find the file 2.
C:\Users\daniel.bak\Desktop\Tableau Client Data Extracts\Master Data Extracts>(f
or /F "delims=; tokens=1,2" %B in (3;Merck Canada Inc.) do (
echo
echo %C
))
The system cannot find the file 3.
C:\Users\daniel.bak\Desktop\Tableau Client Data Extracts\Master Data Extracts>pa
use
Press any key to continue . . .
clients.txt файл:
2;herpherp
3;derpderp
Что это "система не может найти файл 2" вещи? Я хочу, чтобы это эхо «2», первая часть первой строки. Но похоже, что он пытается получить доступ к файлу с именем 2. Что случилось?
Будут ли всегда только две подстроки? Вы хотите, чтобы '{' и '}' включались в подстроки? – SomethingDark
{и} на самом деле не в строке, я просто использовал их, чтобы указать, что такое строка. Всегда будет ровно две подстроки; между ними. –