Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Разложить строку по переменным.

Ответить
Настройки темы
PowerShell - Разложить строку по переменным.

Новый участник


Сообщения: 46
Благодарности: 0

Профиль | Отправить PM | Цитировать


Всем привет! Есть массив данных вида:
Иван:Петров:1985
Виктор:Иванов:1963
И т.д.
Нужно разложить по переменным каждое значение, чтоб было:
$a = Иван
$b = Петров
$c = 1985.
Может кто-то знает как сделать? Уже голову изломал)

Отправлено: 03:18, 13-10-2020

 

Ветеран


Сообщения: 1754
Благодарности: 965

Профиль | Цитировать


Цитата garm:
Есть массив данных »
Где?

Отдельную строку из массива данных:
Код: Выделить весь код
$a,$b,$c = 'Иван:Петров:1985' -split ':'
Это сообщение посчитали полезным следующие участники:

Отправлено: 07:54, 13-10-2020 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6493
Благодарности: 1465

Профиль | Отправить PM | Цитировать


А смысл? Первая строка разложена на переменные, а со второй что делать? Перезаписывать переменные, полученные из первой строки?

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 16:03, 13-10-2020 | #3


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата DJ Mogarych:
Перезаписывать переменные, полученные из первой строки? »
Обычно так и делают.

Отправлено: 17:36, 13-10-2020 | #4


Новый участник


Сообщения: 46
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Foreigner:
Где? »
Загружается из файла. Ваш вариант работает, но непонятно, как обрабатывать это циклом. Принцип таков, что мы загружаем данные в массив из тхт файла, а затем берем строку и кладем в переменную. Из переменной не хочет раскладывать))

Отправлено: 21:14, 13-10-2020 | #5


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1171
Благодарности: 487

Профиль | Отправить PM | Цитировать


Цитата garm:
Может кто-то знает как сделать? Уже голову изломал »
Легко. И даже уже показали как.
Цитата garm:
Принцип таков, что мы загружаем данные в массив из тхт файла, а затем берем строку и кладем в переменную. »
Вопрос только в том, какова конечная цель задачи. Об этом Вы, почему-то, умалчиваете.
А именно:
Образец исходных данных и не пример одной строки, а реальный файл/часть файла (сами данные можете изменить, в целях конфиденциальности) с определенной кодировкой, с указанием примерного размера и т.д.
Выходные данные - в каком виде их необходимо получать (вывод на консоль, в файл или ещё куда). В общем, необходимы исходные данные.
Покажите суть задачи и тогда, возможно, Вам подскажут как её правильно решить. А принципы различных "костылей", мы Вам и так можем показать стотыщвариантов...

-------
scio me nihil scire. Ѫ

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:39, 13-10-2020 | #6


Ветеран


Сообщения: 1754
Благодарности: 965

Профиль | Цитировать


garm,

Код: Выделить весь код
foreach ($line in (Get-Content file.txt))
{
    $a,$b,$c = $line.Split(':')

    что-то делаем с $a, $b и $с
}
Напишите подробней, что должно быть в результате. Если весь файл в таком формате, то его можно обрабатывать и как CSV.
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:03, 13-10-2020 | #7


Забанен


Сообщения: 793
Благодарности: 260

Профиль | Цитировать


Цитата Foreigner:
Код: Выделить весь код
foreach ($line in (Get-Content file.txt))...
Если весь файл в таком формате, то его можно обрабатывать и как CSV.
Не можно, а нужно, так как на выходе получим массив PSCustomObject и тогда всякая блажь загонять каждую строку в отдельности по переменным отпадёт. А вот если бы разделителей было несколько, или по тексту встречались символы, например, хангыль, то лучше сделать нечто вроде токенизации.

Отправлено: 11:27, 14-10-2020 | #8


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6493
Благодарности: 1465

Профиль | Отправить PM | Цитировать


Цитата Iska:
Обычно так и делают »
...сохраняя память предков, передавших нам идеалы и веру в Бога, а также преемственность в развитии Российского государства.

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 12:18, 14-10-2020 | #9



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Разложить строку по переменным.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Разложить файлы в папки по дате создания surgutfred Скриптовые языки администрирования Windows 7 12-03-2024 16:22
CMD/BAT - [решено] разложить картинки по нумерованным папким Mezolick Скриптовые языки администрирования Windows 4 01-09-2017 10:05
2010 - [outlook 2010]Разложить OST или PST по папкам dasgespenst Microsoft Office (Word, Excel, Outlook и т.д.) 1 23-05-2014 11:43
CMD/BAT - Разложить файлы из кучи по каталогам согласно образцу Maartimus Скриптовые языки администрирования Windows 18 14-07-2012 13:37
Ликбез по переменным Farxat Хочу все знать 0 05-12-2009 22:11




 
Переход