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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Если в строке есть 2-ва "ть" заменить на "ла"

Ответить
Настройки темы
CMD/BAT - [решено] Если в строке есть 2-ва "ть" заменить на "ла"

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


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

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


Редактирую базу синонимов, словосочетаний.
Если в строке есть 2-ва "ть" заменить на "ла"

Нужно редактировать такие строки:
Цитата:
поддать газу,увеличить
поддать киселя,ударить
поддать пару,увеличить
В такие:
Цитата:
поддала газу,увеличила
поддала киселя,ударила
поддала пару,увеличила

Отправлено: 13:16, 31-12-2014

 

Ветеран


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

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


papacoca,
Батник не лучшее решение для работы с текстом.
Код: Выделить весь код
@echo off
setlocal
1>nul chcp 1251

for /f "tokens=*" %%i in (1.txt) do call:1 "%%i"

move 2.txt 1.txt
1>nul chcp 866

goto:eof

:1

set "string=%~1"
1>>2.txt echo %string:ть=ла%
Батник должен быть в вин-кодировке (cp1251)

Отправлено: 14:55, 31-12-2014 | #2



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

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


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


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

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


Не то... это можно и NotePad сделать* тупо заменить.
Скрипт меняет все "ть" на "ла"
А мне нужно так:
Если в строке есть 1 "ть" - ее не трогать
Если два то заменить.
Если три ее не трогать.
Если четыре не трогать

Последний раз редактировалось papacoca, 31-12-2014 в 15:18.


Отправлено: 15:09, 31-12-2014 | #3


Ветеран


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

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


Код: Выделить весь код
@<"example.txt">"new.txt" (
for /f "delims=" %%i in ('more') do @(
 set x=%%i
 (
 cmd /v:on /c echo !x!| findstr /irc:"ть[, ]..*ть\>"|>nul findstr /irvc:"ть[, ]..ть[, ]..*ть\>"
 )&& (
 cmd /v:on /c echo !x:ть=ла!
 )|| (
 echo %%i
 )
 )
)
Будем надеяться, что слова "смерть" и "кость" не являются синонимами.

Последний раз редактировалось Georgio, 31-12-2014 в 16:55.

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

Отправлено: 16:35, 31-12-2014 | #4


Ветеран


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

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


Власть, сласть, снасть, грусть, лесть

Отправлено: 17:06, 31-12-2014 | #5


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


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

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


гуд

Отправлено: 17:36, 31-12-2014 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Если в строке есть 2-ва "ть" заменить на "ла"

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Интерфейс - Режим "вставки" и "замены" в командной строке Skiv444 Microsoft Windows 7 4 24-01-2017 14:06
[решено] При открытие "vk.com", "выкидывает" на страницу для "разморозки страницы" sovenok Лечение систем от вредоносных программ 17 21-11-2013 04:09
Интерфейс - [решено] Как удалить папку "Моя музыка","Мои Картинки", "Мое видео"? verdix Microsoft Windows 2000/XP 3 03-10-2009 23:46
[решено] Есть "троян" в игре "пятнашки" с вашего сайта??? avenir00 Хочу все знать 5 20-03-2009 13:01
Запретить/удалить пункт "Programs" ("Программы") из меню кнопки "Start" ("Пуск") submaster Microsoft Windows NT/2000/2003 5 13-09-2006 12:29




 
Переход