|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Группировка чисел |
|
PowerShell - Группировка чисел
|
Новый участник Сообщения: 4 |
Профиль | Отправить PM | Цитировать Приветствую всех гуру мастеров может кто сможет помочь так как сам я ещё новечёк в powershell но есть задача в которой я застрял на одном пункте.
Получен массив данных из четырёх значных чисел для примера пусть будут 1021 1022 1023 1024 1025 1026 1027 1031 1032 1033 1034 1035 1036 1037 их нужно сгруппировать и получить результат 102[1-7] 103[1-7] И в результате т.к. они имеют разницу в одной цифре 10[23][1-7] Может найдутся те кто знает как это сделать, очень буду благодарен тк не своими силами не через поиск нечего найти не могу или не там ищу. А на данном форуме не раз находил что-нибудь полезное, может кто-нибудь сможет побороть и мою проблему. |
|
Отправлено: 16:00, 21-05-2020 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать DrBuG47, каким должен быть результат?
|
Отправлено: 16:19, 21-05-2020 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Нужно сгруппировать числа по схожим цифрам начиная с последних если три первых цифры одинаковые как в примере 123 то остальные он собирает в квадратные кавычки [1234567] а если они идут подряд то упрощает до 1-7 после такой сборки переход ко второй цифре уже поиск по 10*[1-7] если три значения одинаковые собирает 10[23][1-7] На выходе при сборе всех данных будет что то типа 10[23][1-7],123[579],21[125]0,357[0-9],42[13][13456] это сбор внутренних номеров телефонов из AD для автоматизации маршрутов в телефонии Я уже сделал всё кроме этого и не хотелось бы бросать огромную работу только из за одной проблемы даже если получится собрать без упрощения типа 10[23][1234567] это уже что-то Я уже над этим давно бьюсь и нечего не нашёл |
|
Последний раз редактировалось DrBuG47, 21-05-2020 в 17:46. Отправлено: 17:09, 21-05-2020 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Скажем так: к «группировке чисел» это имеет очень опосредованное отношение.
А вот это: Цитата DrBuG47:
И что, например, должно получиться из вот такого набора: |
|
Отправлено: 17:54, 21-05-2020 | #4 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать |
|
Отправлено: 18:07, 21-05-2020 | #5 |
Ветеран Сообщения: 3806
|
Профиль | Отправить PM | Цитировать Цитата DrBuG47:
Цитата DrBuG47:
Простого красивого общего решения у вашей задачи нет. Либо довольствоваться первым попавшимся результатом, либо формировать множество решений, а потом выбирать из них лучшее. Поэтому пишите, как получится, без перфекционизма. |
||
Отправлено: 19:01, 21-05-2020 | #6 |
Ветеран Сообщения: 1754
|
Цитата DrBuG47:
|
|
Отправлено: 19:04, 21-05-2020 | #7 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Цитата Foreigner:
|
|
Отправлено: 19:21, 21-05-2020 | #8 |
Забанен Сообщения: 793
|
(1021..1039 | Group-Object { $s = [String]$_;$s.Substring(0, $s.Length - 1) } | Select-Object @{ N='Name';E={"$($_.Name)[$(-join$_.Group.ForEach{([String]$_)[-1]})]"} }).Name Если нужны именно диапазоны вроде [1-7] или нечто в этом роде, можно выкинуть select и жахнуть linq'ом. |
Отправлено: 18:28, 24-05-2020 | #9 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Интерфейс - Группировка кнопок в таксбаре | Gavabkv | Microsoft Windows 7 | 0 | 03-03-2018 15:57 | |
Интернет - Группировка эскизов-миниатюр. | hakuro | Microsoft Windows 8 и 8.1 | 1 | 26-04-2016 01:18 | |
CMD/BAT - Группировка файлов | r1sh | Скриптовые языки администрирования Windows | 5 | 09-02-2015 17:58 | |
Интерфейс - Группировка окон | grosmeba | Microsoft Windows 7 | 2 | 23-06-2014 00:14 | |
Разное - группировка окон | fngidiotdonk | Microsoft Windows 7 | 0 | 18-01-2011 22:25 |
|