Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.59/22: Рейтинг темы: голосов - 22, средняя оценка - 4.59
 Аватар для Sayjls
0 / 0 / 0
Регистрация: 19.05.2019
Сообщений: 23

Выборка текста после знака с учетом Регистра

06.06.2019, 04:10. Показов 5144. Ответов 44

Студворк — интернет-сервис помощи студентам
У меня есть Ексель база которую я перевёл в txt формат
Более 15 тыс строк в столбик текста мне нужно выбрать и рассортировать текст по критериям
Нужно что бы сохранялись в отдельный txt только те строки в которых после этого знака } начинается начинается Слово с большой буквы , в другой txt где будут строки с маленькой буквой , В общем дела с Реггистром сам я пытался сделать но так ничего не вышло


Вход
Павел Мурин}Каплунова5
Геннадий Петренко}озеро букваторка
Ильич Рамов}Стильзавод6
Максим Мироненко}отсутсвует
Данил Строган}водоканал
На выходе должны получить
1 txt со строками
Павел Мурин}Каплунова5
Ильич Рамов}Сстильзавод6
2 txt со строками
Геннадий Петренко}озеро букваторка
Максим Мироненко}отсутсвует
Данил Строган}водоканал

Мой код который я пробовал писать но ничего не вышло
Windows Batch file
1
2
3
4
5
6
@echo off
setlocal enableextensions enabledelayedexpansion
set /P base=“ засунуть txt ‘’ .->. “
FINDSTR /L /I “ }/I “ %base% > 1.txt
FINDSTR /L  “ } /i “ %base% > 2.txt
pause
Помогите дописать до рабочего состояния

Добавлено через 3 часа 35 минут

Windows Batch file
1
2
3
4
5
6
@echo off
setlocal enableextensions enabledelayedexpansion
set /P base=" База txt " .->. "
FINDSTR /L /I " }/I " %base% > 1.txt
FINDSTR /L  “" } /i " %base% > 2.txt
pause
Поправил
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.06.2019, 04:10
Ответы с готовыми решениями:

Выборка данных из регистра сведений и регистра остатков
Нужно написать отчет по з.п, продавцы получают з.п в зависимости от того сколько они продали, т.е процент надбавки зависит от суммы...

Document.write отображение текста после специального знака
Оператор document.write отображает текст верно если между символами a < b < с стоят пробелы. В случае если пробелы убрать, вывод текста...

Условие с учетом регистра
Подскажите, как в данном коде, прописать условие - с учетом регистра. if CheckBox1.Checked and (Pos(AnsiLowerCase(Memo1.Lines),...

44
Любознательный
 Аватар для YuS_2
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
06.06.2019, 07:28
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Sayjls Посмотреть сообщение
Не работает
Тогда требуются уточнения условия, ибо:
Цитата Сообщение от Sayjls Посмотреть сообщение
но после цифр идут и буквы , как сделать что были только цифры без букв.
под это описание, вполне подходит:
Code
1
abc d :12345 abcd
но не должно подходить:
Code
1
abc d :1a2b345 abcd
Цитата Сообщение от Sayjls Посмотреть сообщение
ибо Одно и тоже что
не совсем одно и то же...
этот код:
Цитата Сообщение от Sayjls Посмотреть сообщение
@findstr ":[1234567890]" "%base%">1.txt
сработает даже для такой строки:
Code
1
abc d :1a2b345 abcd
мой же, такую строку пропустит, но сработает на этой:
Code
1
abc d :12345 abcd

Не по теме:

Цитата Сообщение от FlasherX Посмотреть сообщение
твои коды не комментирую принципиально
возможно, после определенного момента, но тем не менее, пытаешься язвить опосредованно. Лень искать сообщения.

Цитата Сообщение от FlasherX Посмотреть сообщение
Если бы у тебя хватало здравомыслия не ввязываться в перепалки, ты бы поступал аналогично, но провокаторские замашки, видимо, выше этого...
И это пишет человек, который даже в данном топике, почему-то решил прилюдно поофтопить и поогрызаться, т.к. его "великий" код признали негодным, причем первым обращаясь персонально ко мне. Ну да, понятно... а провокатор я, угу. :)
Если до сих пор не понял, поясняю для тех кто в танке: персонально к тебе, я не обращался, а процитировал твой код, потому как, именно твой код неверно работает и это факт, который ты даже не попытался опровергнуть, сразу перешел на личностный оффтоп.
Все комментарии могут читать все посетители топика, не только ты лично, поэтому не бери на свой счет всё, что не тебе предназначено.

Цитата Сообщение от FlasherX Посмотреть сообщение
Это поправка под мой код
ну, конечно, великий код, великого человека. ЧСВ там не лопается ещё? :)

Если бы не хотел, чтобы обращались персонально к тебе, то и не писал бы ничего... но ведь последнее слово должно остаться за тобой - правда? :)
Ладно, мне лично это всё сильно надоело... общайся сам с собой.

0
 Аватар для Sayjls
0 / 0 / 0
Регистрация: 19.05.2019
Сообщений: 23
06.06.2019, 07:36  [ТС]
И Вопрос на засыпку как отсеять лишь Те которые 1b2b3b4b5 123qwe4
Типо вот
Bash
1
@findstr ":[0-9-a-z-0-9]" "%base%">1.txt


Как бы сделать?
0
Любознательный
 Аватар для YuS_2
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
06.06.2019, 07:53
Цитата Сообщение от Sayjls Посмотреть сообщение
Как бы сделать?
Windows Batch file
1
findstr "\<[0-9a-z][0-9a-z]*[a-z][0-9a-z]*\>" "%base%">1.txt
1
 Аватар для Sayjls
0 / 0 / 0
Регистрация: 19.05.2019
Сообщений: 23
06.06.2019, 08:04  [ТС]
А вот если
Bash
1
@findstr /E ":[0-9]*" "%base%">Number.txt
Выбирает просто цифры без Букв
А надо что бы выбирало просто Буквы без цифр по силу?
Что бы получилось что то вроде этого
Bash
1
@findstr /E ":[A-Z]*" "%base%">1.txt
Но он не работает(

Добавлено через 2 минуты
Bash
1
findstr "\<[0-9a-z][0-9a-z]*[a-z][0-9a-z]*\>" "%base%">1.txt
Не работает ибо затрагивает те выражения где Qwer444 Jdfsh485392
А надо что бы только Эти 348gfd834 fjs3249jdsfjk23
0
06.06.2019, 08:07

Не по теме:

Цитата Сообщение от YuS_2 Посмотреть сообщение
Лень искать сообщения.
Потому что их нет? \_0_/
Цитата Сообщение от YuS_2 Посмотреть сообщение
а провокатор я.
Именно так. Ибо твой троллинг неуместен.
Цитата Сообщение от YuS_2 Посмотреть сообщение
я не обращался, а процитировал твой код, потому как, именно твой код неверно работает и это факт, который ты даже не попытался опровергнуть, сразу перешел на личностный оффтоп.
Ты продолжаешь лгать, провокатор. Своенравный комментарий приведённого кода в твоей поучительной манере и есть личностный оффтоп. И мой код, повторяюсь, проверен на конкретном примере. Что тут опровергать? Нравится тебе это или нет, но я не под твоих тараканов подстраивался, а под ТС.
Цитата Сообщение от YuS_2 Посмотреть сообщение
Все комментарии могут читать все посетители топика, не только ты лично, поэтому не бери на свой счет всё, что не тебе предназначено.
Я тебе непонятным языком написал "Мы все читающие тут люди, поэтому при чём."? Ты критикуешь мой код. Я твои не твогаю. Хочешь устроить священные войны? Думаешь, я не в состоянии до твоих кривых (как мы выше видим) кодов докопаться? Окстись, наивный. Или ты склонен к мазохизму, или варианты тебя вразумить могут быть лишь радикальные.
Цитата Сообщение от YuS_2 Посмотреть сообщение
ну, конечно, великий код, великого человека. ЧСВ там не лопается ещё? :)
Слушай, тролль, успокойся и ещё раз вразуми моим словам больше мне не писать.

0
 Аватар для Sayjls
0 / 0 / 0
Регистрация: 19.05.2019
Сообщений: 23
06.06.2019, 08:09  [ТС]
Отсеять значит выбрать в отдельный тхт
0
7690 / 2887 / 1110
Регистрация: 06.06.2017
Сообщений: 9,817
06.06.2019, 08:16
Лучший ответ Сообщение было отмечено Sayjls как решение

Решение

Цитата Сообщение от Sayjls Посмотреть сообщение
Но он не работает(
Нужно [a-z] дважды писать:
Windows Batch file
1
@findstr /E ":[a-z][a-z]*" "%base%">1.txt
0
 Аватар для Sayjls
0 / 0 / 0
Регистрация: 19.05.2019
Сообщений: 23
06.06.2019, 08:22  [ТС]
И Вопрос на засыпку как выбрать лишь Те которые 1b2b3b4b5 123qwe4
Типо вот
Bash
1
@findstr ":[0-9-a-z-0-9]" "%base%">1.txt
0
7690 / 2887 / 1110
Регистрация: 06.06.2017
Сообщений: 9,817
06.06.2019, 08:40
Windows Batch file
1
@type "%base%"|@findstr ":[0-9a-z]*[0-9][0-9a-z]*$"|@findstr ":[0-9a-z]*[a-z][0-9a-z]*$">1.txt
1
 Аватар для Sayjls
0 / 0 / 0
Регистрация: 19.05.2019
Сообщений: 23
06.06.2019, 08:51  [ТС]
Есть много текста идущего в столбик мне нужно открыть батник и засунуть туда мой тхт файл.
далее нужно поменять такие сочетания как Mai на Avgus , 2019 на 8876 . рузультат отправить в отдельный txt где имя сами задаём.


PowerShell
1
(Get-Content 1.txt) -replace 'mai', 'avgus' -replace '2019', '8876' | Set-Content 2.txt
Можно провернуть тоже самое но на батнике?

Добавлено через 5 минут
Можно ли так, что бы с конца каждой строки удалялся 1 символ ?
Имеем Август20159
Май20096
На выходе что бы мы получили
Май2009
Август2015
0
06.06.2019, 08:56

Не по теме:

Цитата Сообщение от FlasherX Посмотреть сообщение
Потому что их нет?
Потому, что лень искать. Если для тебя это одно и то же, то это твои личные проблемы.

Цитата Сообщение от FlasherX Посмотреть сообщение
Ты продолжаешь лгать, провокатор.
Персонально для тех кто в танке, повторяю:
Цитата Сообщение от Sayjls Посмотреть сообщение
Более 15 тыс строк в столбик текста мне нужно выбрать и рассортировать текст по критериям
Нужно что бы сохранялись в отдельный txt только те строки в которых после этого знака } начинается начинается Слово с большой буквы , в другой txt где будут строки с маленькой буквой
на что сразу же следует код:
Цитата Сообщение от FlasherX Посмотреть сообщение
Windows Batch file
1
2
3
@chcp 1251>nul
@findstr /v "}[а-я]" База.txt>1.txt
@findstr "}[а-я]" База.txt>2.txt
Если ты покажешь, каким образом и именно этот код, как минимум, выберет строки содержащие символ "}", сразу после которого следует прописная буква, то я помимо того, что признаю свою неправоту, даже извинюсь... но это, в принципе невозможно, ибо это несовместимо, такой код никогда не выполнит это условие. В том, числе и для примера, на который ты пытался ссылаться, что этот код:
Цитата Сообщение от FlasherX Посмотреть сообщение
был приведён пример на вход, и, как следствие, под него и приводилось решение. И в его отношении вот именно что работает без /i.
Покажешь, как он работает, пусть даже на примере, который был приведен? Нет?
Если нет, то лгать здесь продолжаешь, только ты, жирный тролль.

Цитата Сообщение от FlasherX Посмотреть сообщение
Думаешь, я не в состоянии до твоих кривых (как мы выше видим) кодов докопаться?
что ты там видишь - твои личные проблемы. Коды кривые, пока что, пишешь только ты...
А мой код - написан под условие, которое полным не являлось, так что, креститься надо тебе...

0
7690 / 2887 / 1110
Регистрация: 06.06.2017
Сообщений: 9,817
06.06.2019, 09:03
Sayjls, негибридный бат для адекватных замен не вариант (о чём постоянно в разделе говорится), но это уже отход от темы. Тут либо posh либо сторонние проги (nhrt, far, gsar, txtreplace, ssed, gawk, etc).
Впрочем, ничего не мешает взять код в кавычки и прописать powershell -c спереди. Но это уже за рамками сабжа.
0
Любознательный
 Аватар для YuS_2
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
06.06.2019, 09:24
Цитата Сообщение от Sayjls Посмотреть сообщение
Не работает ибо затрагивает те выражения где Qwer444 Jdfsh485392
А надо что бы только Эти 348gfd834 fjs3249jdsfjk23
принципиальное отличие только в наличии прописной буквы вначале? Или есть ещё какие-то доп.условия?
А не работает потому, что регэкспы в findstr ограничены и диапазоны в них регистронезависимы... я же писал об этом:
Цитата Сообщение от YuS_2 Посмотреть сообщение
диапазоны в findstr работают криво и регистронезависимо, отсутствие ключа /i не поможет
Цитата Сообщение от YuS_2 Посмотреть сообщение
Чтобы оно заработало, придется заняться перечислением обоих алфавитов целиком, причем отдельно прописные, отдельно строчные
т.е. тогда придется использовать так:
Windows Batch file
1
findstr "\<[0-9abcdefghijklmnopqrstuvwxyz][0-9abcdefghijklmnopqrstuvwxyz]*[abcdefghijklmnopqrstuvwxyz][0-9abcdefghijklmnopqrstuvwxyz]*\>" "%base%">1.txt
1
06.06.2019, 09:28

Не по теме:

Цитата Сообщение от YuS_2 Посмотреть сообщение
Потому, что лень искать. Если для тебя это одно и то же, то это твои личные проблемы.
Лень искать потому что лень искать? Логика ускакала вместе со здравым смыслом. ))
И вопрос был скорее риторический, т.к. я в курсе, на чём и когда я остановился...

Цитата Сообщение от YuS_2 Посмотреть сообщение
на что сразу же следует код:
Это ты за меня решил на что именно давался ответ? Нет у тебя права распоряжаться чужими мыслями и не будет.
Цитата Сообщение от YuS_2 Посмотреть сообщение
я помимо того, что признаю свою неправоту, даже извинюсь...
Ты не тот персонаж, от которого я мог бы ждать извинений, поэтому забудь.
Цитата Сообщение от YuS_2 Посмотреть сообщение
В том, числе и для примера, на который ты пытался ссылаться, что этот код:
А ты пробовал, прежде чем утверждать?
Цитата Сообщение от YuS_2 Посмотреть сообщение
Покажешь, как он работает, пусть даже на примере, который был приведен? Нет?
Почему я тебе должен что-то показывать и доказывать после твоего безаппеляционного наезда? Верь во что хочешь, мне абсолютно по боку на твои оценочные суждения.
Цитата Сообщение от YuS_2 Посмотреть сообщение
А мой код - написан под условие, которое полным не являлось, так что, креститься надо тебе...
О, как. Опять решил взять на себя право давать оценки, кто прямой, а кто прямее? Ты ориентируешься по удобной тебе информации, но другие этого права почему-то автоматически лишены. Класс. Тут упоминание задранного ЧСВ само напрашивается...

Цитата Сообщение от YuS_2 Посмотреть сообщение
Ладно, мне лично это всё сильно надоело...
Оно и видно, лгунишка...

0
 Аватар для Sayjls
0 / 0 / 0
Регистрация: 19.05.2019
Сообщений: 23
06.06.2019, 09:29  [ТС]
Как мне сделать если я хочу найти после знака : выражение Avgust , Mai И сохранить их в txt
строк много

Bash
1
FINDSTR /L " : Avsust Mai  " %base% > 1.txt
0
Любознательный
 Аватар для YuS_2
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
06.06.2019, 09:38
Цитата Сообщение от Sayjls Посмотреть сообщение
PowerShell
1
(Get-Content 1.txt) -replace 'mai', 'avgus' -replace '2019', '8876' | Set-Content 2.txt
Можно провернуть тоже самое но на батнике?
Можно, если задавать шаблон для каждой замены заранее, т.е. примерно так:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
@echo off
setlocal enabledelayedexpansion
set "infile=test.txt"
set "outfile=out.txt"
set "src=mai"
set "rep=avgus"
(for /f "delims=" %%i in ('type "%infile%"') do (
    set "var=%%~i"
    set "var=!var:%src%=%rep%!"
    echo !var!
))>"%outfile%"
1
 Аватар для Sayjls
0 / 0 / 0
Регистрация: 19.05.2019
Сообщений: 23
06.06.2019, 09:43  [ТС]
Bash
1
2
3
4
5
6
7
8
9
10
11
@echo off
setlocal enabledelayedexpansion
set "infile=test.txt"
set "outfile=out.txt"
set "src=mai"
set "rep=avgus"
(for /f "delims=" %%i in ('type "%infile%"') do (
    set "var=%%~i"
    set "var=!var:%src%=%rep%!"
    echo !var!
))>"%outfile%"
Можно детально расписать что за что отвечает ибо мне все 12 месяц прописывать нужно.
0
7690 / 2887 / 1110
Регистрация: 06.06.2017
Сообщений: 9,817
06.06.2019, 09:44
Цитата Сообщение от Sayjls Посмотреть сообщение
Avgust , Mai
Что подразумевает запятая?
0
 Аватар для Sayjls
0 / 0 / 0
Регистрация: 19.05.2019
Сообщений: 23
06.06.2019, 09:46  [ТС]
Перечисление, мне все 12 месяцев нужно писать будет

Добавлено через 14 секунд
На АНГ ЯЗЫКЕ весь ТЕКСТ
0
7690 / 2887 / 1110
Регистрация: 06.06.2017
Сообщений: 9,817
06.06.2019, 09:52
Так надо искать просто строку с заданным текстом? Или список месяцев рандомный?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.06.2019, 09:52

Сортировка с учетом регистра
Добрый день подскажите пожалуйста как произвести сортировку таблицы с учетом регистра?

Вывод логина с учетом регистра
Ребятки, вообщем тут назрел вопрос, хочу сделать так, чтобы при Авторизации не просто проверялось: существует ли пользователь или нет, а...

Сравнение строк с учетом регистра
Подскажите, как в VBA сделать с учетом регистра? В коде у меня идет сравнение 2 ух переменных

Изменить текст с учетом наличия знака '+'
Дан текст. Если в тексте нет знака +, то оставить текст без изменений, иначе каждую из цифр, что предшествует первому вхождению знака +,...

Замена символов в строке с учетом регистра
В программе слоги с большой буквы (&quot;Ма&quot;) при замене на цифры (11) меняются на те же слоги, но с маленькой буквы using System; using...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru