Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.63/30: Рейтинг темы: голосов - 30, средняя оценка - 4.63
-6 / 3 / 0
Регистрация: 23.02.2014
Сообщений: 202

Замена одних символов или слов в тексте на другие

24.02.2014, 09:36. Показов 6387. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет народ, помогите пожалуйста. Нужно решить задачу по поиску слова (символов) в тексте и замене его на другое.
Дан текст, состоящий из большого количество строк. Нужно заменить в тексте все слова или символы на другое значение. К примеру: символ "/" мне надо изменить его на "\" или "test" на "list", как это сделать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.02.2014, 09:36
Ответы с готовыми решениями:

Замена одних символов на другие
Здравствуйте, создаю программу, которая будет заменять одни символы на другие. К примеру если пишешь слово: Компьютер, то получается...

Замена одних слов на другие, ввод с клавиатуры
Пользователь вводит через пропуск марки автомобилей. Заменить их марки Mersedes на “Запорожец”, Opel на “Жигуль”, //BMW на ”Tаврию”,...

Замена одних слов на другие слова по списку
Доброго времени суток! Есть слова которые надо заменить на слова по списку. В замененных словах буквы которые в скобках надо сделать...

20
 Аватар для YupiRex
189 / 146 / 32
Регистрация: 04.10.2013
Сообщений: 150
25.02.2014, 03:34
Лучший ответ Сообщение было отмечено Cyber_F как решение

Решение

За основу был взят этот скрипт:Полезные BAT/CMD скрипты
Кликните здесь для просмотра всего текста
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
set rule="P768_LG L9" "Bootloader_Загрузчик" "bootloader_загрузчик" "-_=" ",_" "."
set infile=test.txt
set outfile=outlog.txt
if exist %outfile% del %outfile%
setlocal ENABLEDELAYEDEXPANSION
for /f "tokens=*" %%a in (%infile%) do call :replace "%%a"
exit /b
:replace
set token=%1
set token=!token:~1,-1!
for %%a in (%rule%) do for /f "delims=_ tokens=1,2" %%b in (%%a) do (set token=!token:%%b=%%c!)
echo %token%>>%outfile%
exit /b

содержимое файла test.txt:
Кликните здесь для просмотра всего текста

Не по теме:

So far, the P768 does not have the ability to unlock the bootloader normally,
so to do this, we have to flash P760 software which can unlock the bootloader.
Lucky for us P768 users, flashing P760 KDZ doesnt affect our screen like P769 users.
It still has problems but we are only using it to unlock - nothing more.
Bootloader unlocking is a one time action - Once its unlocked,
it stays unlocked if you change KDZ/ROM.


Содержимое Файла outlog.txt после работы скрипта:
Кликните здесь для просмотра всего текста

Не по теме:

So far the LG L9 does not have the ability to unlock the Загрузчик normally
so to do this we have to flash P760 software which can unlock the Загрузчик
Lucky for us LG L9 users flashing P760 KDZ doesnt affect our screen like P769 users
It still has problems but we are only using it to unlock = nothing more
Загрузчик unlocking is a one time action = Once its unlocked
it stays unlocked if you change KDZ/ROM

3
-6 / 3 / 0
Регистрация: 23.02.2014
Сообщений: 202
27.02.2014, 14:01  [ТС]
YupiRex, - болшое, спс.

п.с одно но, как зделать чтоб заменялся указыный регистр. Т.е. к примеру: нужно заменить Q>E, заменяются как нижний регистр (e) так и верхний (E). а нужно только верхний регистр заменить. как это исправить?
0
 Аватар для YupiRex
189 / 146 / 32
Регистрация: 04.10.2013
Сообщений: 150
27.02.2014, 15:35
Лучший ответ Сообщение было отмечено Cyber_F как решение

Решение

этот только по символьный разбор
Кликните здесь для просмотра всего текста
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
set rule="S_$" "I_1" "a_@"
set infile=test.txt
set outfile=outlog.txt
if exist %outfile% del %outfile%
@echo off
setlocal ENABLEDELAYEDEXPANSION
for /f "tokens=*" %%a in (%infile%) do call :replace "%%a"
exit /b
:replace
set token=%1
set token=!token:~1,-1!
set "newtoken="
:loo
set char=!token:~,1!
set token=!token:~1!
for %%a in (%rule%) do for /f "delims=_ tokens=1,2" %%b in (%%a) do (if !char!==%%b set char=%%c)
set newtoken=!newtoken!!char!
if defined token goto loo
echo %newtoken%>>%outfile%
exit /b
3
-6 / 3 / 0
Регистрация: 23.02.2014
Сообщений: 202
27.02.2014, 23:32  [ТС]
YupiRex, - спс.
0
-6 / 3 / 0
Регистрация: 23.02.2014
Сообщений: 202
18.06.2020, 12:08  [ТС]
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
set rule="S_$" "I_1" "a_@"
set infile=test.txt
set outfile=outlog.txt
if exist %outfile% del %outfile%
@echo off
setlocal ENABLEDELAYEDEXPANSION
for /f "tokens=*" %%a in (%infile%) do call :replace "%%a"
exit /b
:replace
set token=%1
set token=!token:~1,-1!
set "newtoken="
:loo
set char=!token:~,1!
set token=!token:~1!
for %%a in (%rule%) do for /f "delims=_ tokens=1,2" %%b in (%%a) do (if !char!==%%b set char=%%c)
set newtoken=!newtoken!!char!
if defined token goto loo
echo %newtoken%>>%outfile%
exit /b
Скрипт чистит хорошо, но не воспринимает файлы более 1Гб. Можно как то исправить?
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
18.06.2020, 12:12
Cyber_F, если нужно заменять не кириллицу, то воспользуйтесь sed
0
-6 / 3 / 0
Регистрация: 23.02.2014
Сообщений: 202
20.06.2020, 05:07  [ТС]
Цитата Сообщение от Karen87 Посмотреть сообщение
Cyber_F, если нужно заменять не кириллицу, то воспользуйтесь sed
Присутствует кириллица.
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
20.06.2020, 16:39
Цитата Сообщение от Cyber_F Посмотреть сообщение
Присутствует кириллица
ставьте терминал cygwin
0
6986 / 2876 / 1106
Регистрация: 06.06.2017
Сообщений: 9,771
20.06.2020, 16:51
Цитата Сообщение от alpap Посмотреть сообщение
ставьте терминал cygwin
Из-за какой-то замены? А чё не Линукс сразу?
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
21.06.2020, 00:07
ну если PowerShell чем-то не устраивает, тогда уже все средства хороши. Или лопатить весь алфавит в обоих регистрах через bat? Уже поднадоели подобные портянки.
0
6986 / 2876 / 1106
Регистрация: 06.06.2017
Сообщений: 9,771
22.06.2020, 11:28
alpap, речь не о портянках кода, а о тоннах (110+ Мб) никому ненужного мусора очень долго устанавливаемого пакета, нехило гадящего в реестр. Овчинка, ещё мягко говоря, выделки не стоит. ТС же по просьбе в ЛС ссылки на все потенциальные инструменты я и так скинул.
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
23.06.2020, 00:24
Цитата Сообщение от FlasherX Посмотреть сообщение
в ЛС ссылки на все потенциальные инструменты я и так скинул
возможно речь о js/vbs, но у меня спрашивает именно о cygwin_овских запчастях.
0
6986 / 2876 / 1106
Регистрация: 06.06.2017
Сообщений: 9,771
23.06.2020, 01:11
Цитата Сообщение от alpap Посмотреть сообщение
возможно речь о js/vbs
Не, про них речь не шла. Только утилиты, в т. ч. линуховские.
0
-6 / 3 / 0
Регистрация: 23.02.2014
Сообщений: 202
05.07.2020, 12:10  [ТС]
Если кому потребуется, вот программы хорошо заменяют текст или символы: far, gsar, sed, ssed.
Работают с файлами до 50Гб(далее не проверял).
0
-6 / 3 / 0
Регистрация: 23.02.2014
Сообщений: 202
06.07.2020, 05:03  [ТС]
Цитата Сообщение от Cyber_F Посмотреть сообщение
Если кому потребуется, вот программы хорошо заменяют текст или символы: far, gsar, sed, ssed.
Работают с файлами до 50Гб(далее не проверял).
far - не запускается, ошибка. Остальные запускаются норм.
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
06.07.2020, 23:50
Цитата Сообщение от Cyber_F Посмотреть сообщение
Остальные запускаются норм
запускаются-то норм, но
Цитата Сообщение от Cyber_F Посмотреть сообщение
Присутствует кириллица
sed из windows ком.строки кириллицу не воспринимает, выше говорилось об этом, но ... как будто вы и не читаете ничего.
0
6986 / 2876 / 1106
Регистрация: 06.06.2017
Сообщений: 9,771
07.07.2020, 00:51
alpap, дык не надо читать, где "говорилось". Лучше самому проверить. Всё прекрасно работает и с gsed407x, и sed 4.4 из сыгуина, и с ssed. И с cmder-а тоже должна работать.
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
07.07.2020, 02:21
Цитата Сообщение от FlasherX Посмотреть сообщение
Лучше самому проверить
а кто говорил что я не проверял.
Цитата Сообщение от FlasherX Посмотреть сообщение
Всё прекрасно работает ... и sed 4.4 из сыгуина,
где работает?
Миниатюры
Замена одних символов или слов в тексте на другие  
0
6986 / 2876 / 1106
Регистрация: 06.06.2017
Сообщений: 9,771
07.07.2020, 03:17
Цитата Сообщение от alpap Посмотреть сообщение
а кто говорил что я не проверял.
Значит, не везде, где стоило. И потом комстрока cmd-консолью не ограничивается. К тому же работать ТС нужно конкретно с -i filename, а не с экспериментальными строками через канал.
Цитата Сообщение от alpap Посмотреть сообщение
где работает?
В отношении сыгуиновского варианта будет работать с такого батника:
Windows Batch file
1
2
3
@chcp 65001>nul
@echo Привет|sed s/привет/Hello/
@Pause>nul
С остальными указанными 65001 не нужен. И в консоли проблем нет.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.07.2020, 03:17
Помогаю со студенческими работами здесь

Шифрование путем преобразования одних символов в другие
Вобщем вопрос такой, ниразу с криптографией не работал, как мне считать текст с RichTextBox записать его в масив, при это чтобы каждому...

Замена одних данных в поле таблицы Foxpro во всех записях на другие
Имеется таблица MAIL с определенными полями (например: fio,adres, mestopr, mestopropiski). В поле mestopr стоит гМосква. Необходимо...

Замена в тексте одних подстрок другими
какими способами можно решить данный пример Удалить «r» из текста Если текст содержит «ri» и «re», измените его на «ai» и «ae». ...

Перевод одних символов в другие по принципу смены раскладки клавиатуры
Здравствуйте. Хочу написать программу, в которой бы были два текстбокса. В один текстбокс вводим текст, напрмер "Ghbdtn? Dfcz? rfr...

Замена одних символов - другими в файле
Помогите плиз, надо в файле заменить одну букву на другую, причем прямо в слове. Пример, в hдltst заменить на haltst. Умляуты вставить в...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru