2291 / 426 / 113
Регистрация: 26.09.2020
Сообщений: 788
|
|||||||||||
1 | |||||||||||
Окавычить и разбить нельзя Разбить и окавычить10.08.2023, 11:25. Показов 1108. Ответов 35
Как разбить стоку, типа (командная строка Windows):
0
|
10.08.2023, 11:25 | |
Ответы с готовыми решениями:
35
Thread разбить программу в несколько потоков mutex, разбить класс на несколько потоков Разбить строку на предложения, а предложения разбить на слова Разбить строку Разбить на страницы Разбить текст |
Любознательный
6695 / 1950 / 335
Регистрация: 10.03.2016
Сообщений: 4,504
|
||||||
10.08.2023, 12:21 | 2 | |||||
разбить-то проблем нет... вопрос только куда и чего окавычивать, а главное - зачем? Это же и так строки... но ежели очень хочется:
1
|
2291 / 426 / 113
Регистрация: 26.09.2020
Сообщений: 788
|
||||||
10.08.2023, 13:23 [ТС] | 3 | |||||
путь с исполняемым файлом вестимо, первая строка в массиве, в примере окавычена.
чего, нет в примере, но может быть в строке, типа (командная строка Windows), так это окавыченный путь к исполняемому файлу:
0
|
1563 / 256 / 65
Регистрация: 03.06.2020
Сообщений: 649
|
||||||
10.08.2023, 13:51 | 4 | |||||
Если в пути нет тире:
Код
'"C:\Program Files\Realtek\Audio\HDA\RtlUpd64.exe"' '-r' '-m' '-nrg2709'
0
|
2291 / 426 / 113
Регистрация: 26.09.2020
Сообщений: 788
|
||||||
10.08.2023, 14:00 [ТС] | 5 | |||||
Накидал варианты строк, что в голову пришли, вроде валидные, с точки зрения (командная строка Windows)
…не понимает путь с пробелами
0
|
Любознательный
6695 / 1950 / 335
Регистрация: 10.03.2016
Сообщений: 4,504
|
|
10.08.2023, 15:02 | 6 |
Тогда лучше таки описать смысл сего действия (чего и откуда поступает и куда подается всё хозяйство), возможно есть другие пути решения...
Добавлено через 2 минуты нет, можно, конечно, составить регулярку и на такие извращения... но лучше таки иметь представление о задаче в целом...
0
|
2291 / 426 / 113
Регистрация: 26.09.2020
Сообщений: 788
|
|
10.08.2023, 15:27 [ТС] | 7 |
Задача разбить командную строку на исполняемый файл и аргументы.
Функция CommandLineToArgvW из shell32.dll её решает, только не справляется, если путь с пробелами и без кавычек.
0
|
6297 / 2138 / 337
Регистрация: 10.12.2013
Сообщений: 7,370
|
|
10.08.2023, 15:35 | 8 |
Beginning in PowerShell 3, the Abstract Syntax Tree is exposed to you,
so you, too, can now analyze PowerShell code and learn about its internal structure. https://powershell.one/powersh... yntax-tree
1
|
Любознательный
6695 / 1950 / 335
Регистрация: 10.03.2016
Сообщений: 4,504
|
|||||||||||
10.08.2023, 18:08 | 9 | ||||||||||
да то, что разбить - понятно... чего дальше со всем этим делать предполагаешь?
ок, если не хочешь рассказывать, тогда так:
0
|
2291 / 426 / 113
Регистрация: 26.09.2020
Сообщений: 788
|
||||||
10.08.2023, 19:14 [ТС] | 10 | |||||
не понял к чему это.
о5 таки не понял. не работает 2 пошик у меня. а если такие строки… Код
'C:\Program Files\Realtek\Audio\EXE and Com\Rtl-Upd-64.exe open -r --m /nrg2709' 'C:\Program Files\Realtek\Audio\HDA\Rtl-Upd-64.com open -r --m /nrg2709'
0
|
Любознательный
6695 / 1950 / 335
Регистрация: 10.03.2016
Сообщений: 4,504
|
|
10.08.2023, 20:01 | 11 |
эхм... там неважен второй пошик, он всего лишь для примера, там важен оператор
--% конечно, нерешаемо! Чтобы получить вменяемое решение, необходимо использовать вменяемые входные данные... Ещё разок задам вопрос: Может надо не костыли автоматизировать, а решить вопрос со входными данным? а именно: 1. Берем исполняемый файл 2. Составляем перечень возможных ключей 3. Впихиваем перечень ключей в регулярку: ' (?=open|close|/|-|ещёключик)' и по этой регулярке сплитим строку... 4. Бинго! и для верности, заставить таки подающую систему закавычивать пути с пробелами...
0
|
1563 / 256 / 65
Регистрация: 03.06.2020
Сообщений: 649
|
||||||
10.08.2023, 20:27 | 12 | |||||
1
|
2291 / 426 / 113
Регистрация: 26.09.2020
Сообщений: 788
|
|
10.08.2023, 21:20 [ТС] | 13 |
YuS_2, входные данные такие, какие есть. не надо под ответ подбирать.
если бы знали какой файл, да параметры, нафига бы парсить тогда? lesser, вот почти сделал, наверно приемлемый вариант, осталось совместить с перебором pathext и… найти на какой таки строке споткнётся
0
|
Любознательный
6695 / 1950 / 335
Регистрация: 10.03.2016
Сообщений: 4,504
|
||||||
10.08.2023, 21:38 | 14 | |||||
хочешь придумать парсер на все случаи жизни? Добавлено через 2 минуты пока нет четкого понимания того, что именно собираешься парсить... обязательно попадутся данные которые завалят "суперуниверсальный" парсер, такшта...
0
|
2291 / 426 / 113
Регистрация: 26.09.2020
Сообщений: 788
|
|
10.08.2023, 22:07 [ТС] | 15 |
зачем на все, на командную строку с аргументами, где забыли кавычки на путь с пробелами. Протоколы, shell::: не надо.
да как нету, то? В первом же посте, тип (командная строка Windows).
0
|
Любознательный
6695 / 1950 / 335
Регистрация: 10.03.2016
Сообщений: 4,504
|
||||||
10.08.2023, 22:32 | 16 | |||||
hint: Твоя задача, в пределах озвученных условий, выглядит так: расширение файла, условно, может быть сопоставлено с любой программой... примеры расширений: 1. .bat 2. .bat v 3. .bat v n 4. .bat v n j 5. .bat v n j m ... и т.д. в пределах алфавитно-цифрового массива, в любом количестве сочетаний, в том числе подкаталогов... - возьмешься спарсить? Добавлено через 2 минуты add: это может быть и только расширением и расширением с ключами... в любом сочетании...
0
|
2291 / 426 / 113
Регистрация: 26.09.2020
Сообщений: 788
|
|
11.08.2023, 08:56 [ТС] | 17 |
YuS_2, расширение же уже ограничили %pathext%
путь: "C:\abc def\ghi jkl vnm .bat v n j m\xy z bnh m.bat" парметры: v n j m после первого .bat есть еще обратный слеш — значит путь продолжается. вот, по обратным слешам в пути, ещё поди можно и до расширения. хотя бы, какую часть угадать более-менее уверенно. а то сейчас, всё без кавычек == ошибка.
0
|
6297 / 2138 / 337
Регистрация: 10.12.2013
Сообщений: 7,370
|
|
11.08.2023, 12:10 | 18 |
а вот ещё неплохая инициатива:
- если кто-то при вводе пароля набрала только "1", проверять ввод также и на "12", "123", "1234" и "12345". вдруг ей было просто лень набрать полностью? или настроение было не очень ?
1
|
Любознательный
6695 / 1950 / 335
Регистрация: 10.03.2016
Сообщений: 4,504
|
|||||||||||
11.08.2023, 13:33 | 19 | ||||||||||
где, кто?
Вот же, я уточнял: на что ты ответил: Поэтому: а у меня так: чего определять будем? а я такой загадочный... что могу и так написать:
можешь проверить:
а расширение... ну, ты понимаешь же, что PATHEXT - не константа... а я тебе говорил, что самый надежный способ: есть пути с пробелами, но нет кавычек - давай до свидания. Всего делов-то!
0
|
2291 / 426 / 113
Регистрация: 26.09.2020
Сообщений: 788
|
|
11.08.2023, 14:50 [ТС] | 20 |
для ССЗБ, как и для остальных случаев, ничего не поменяется, не удалось распарсить — ошибка.
стёб мне не интересен.
0
|
11.08.2023, 14:50 | |
11.08.2023, 14:50 | |
Помогаю со студенческими работами здесь
20
Разбить слово Разбить на подпрограммы Разбить на подпрограммы Разбить строку Разбить число Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |